Standards for statistical data dissemination: a wish list

Xavier Badosa
Xavier BadosaWeb Manager at Idescat
Standards for statistical data dissemination




                                      a wish list
                     Xavier Badosa (@badosa)
                     Statistical Institute of Catalonia
                     OECD Statistical Information System
                     Collaboration Community (SIS-CC)
                     Workshop 2012. Paris, 12-14 March
For humans
For humans (naked)
For humans (naked)
(accessed and read by humans)
For humans (naked)
(accessed and read humans)
For humans with machines
(accessed by humans,
but read by machines)


            For humans (naked)
       (accessed and read humans)
For machines
For machines built by humans
For machines built by humans
(accessed and read by machines)
API   D A T A
Standards for statistical data dissemination: a wish list
General-purpose
“Apps”



Third-party
“Apps”
that solve specific needs



Statistics as platform      “O.S.”
How I stopped worrying about my
website and learned to love the whole
Internet
     Matt McAlister
     Director of Digital Strategy
     Guardian Media Group
We don’t operate in the
eyeball market            maximum data
                          exposure & reach
We operate in the
                          accuracy preservation
reference
market                    brand recognition
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
E   A       B
C
H
A   Big orgs
N
G   Stats-savvy
E
    B2B
E       A      B
C
H
A      Big orgs
N
G      Stats-savvy
E
       B2B

    Shared environment
D
    I
                S
S
            E
M
            I
                N
        A
                    T
                        I
O
            N
?
like the   ?
           WWW
Standards for statistical data dissemination: a wish list
For machines built by humans
don’t make me think

     KISS principle

respect the conventions

      develop also
  for the weakest link
is a platform




 An example
is widely used




  An example
2006

       is widely used

2009   50,000 applications
is widely used

# mashups
Standards for statistical data dissemination: a wish list
is widely used

had more than
1 provider
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
is widely used

= is a standard
“these APIs are simple enough for weekend
hackers to build interesting projects on, and
(…) easy to implement even on mobile devices
and in almost any programming language.”


       Anil Dash
       Expert Labs
http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
KISS principle




“these APIs are simple enough for weekend
hackers to build interesting projects on, and
(…) easy to implement even on mobile devices
and in almost any programming language.”


       Anil Dash
       Expert Labs
http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
develop for the weakest link




“these APIs are simple enough for weekend
hackers to build interesting projects on, and
(…) easy to implement even on mobile devices
and in almost any programming language.”


       Anil Dash
       Expert Labs
http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
provide a useful service




“these APIs are simple enough for weekend
hackers to build interesting projects on, and
(…) easy to implement even on mobile devices
and in almost any programming language.”


       Anil Dash
       Expert Labs
http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
get close to the end users




“these APIs are simple enough for weekend
hackers to build interesting projects on, and
(…) easy to implement even on mobile devices
and in almost any programming language.”


       Anil Dash
       Expert Labs
http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
langs / APIs ~ browsers / websites




“these APIs are simple enough for weekend
hackers to build interesting projects on, and
(…) easy to implement even on mobile devices
and in almost any programming language.”


       Anil Dash
       Expert Labs
http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
“these APIs are simple enough for weekend
hackers to build interesting projects on, and
(…) easy to implement even on mobile devices
and in almost any programming language.”
2              APIs

REST API    100 x 1.5 = 150 pp.
Streaming API    6 x 3 = 18 pp.
                     < 200 pp.
208 pp.


                   < 200 pp.
books.google.com
The Fifteen Minute Rule

        A person of reasonable
       ability should be able to
get from zero to ‘Hello World’
  in fifteen minutes.

           Michael E. Driscoll

           Dataspore, Metamarkets
http://lcsd05.cs.tamu.edu/slides/keynote.pdf
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
18 pp.
1 PDF
18 pp.
18 pp.
 1 PDF

143 pp.
161 pp.
 1 PDF

143 pp.
161 pp.
ZIP 8 MSW
1,109 pp.
ZIP 8 MSW
     46 pp.
   341 pp.
   269 pp.
     68 pp.
   176 pp.
     34 pp.
      4 pp.
     10 pp.
1,109 pp.
Samples
1,278 pp.
ZIP 1 PDF



 169 pp.
1,327 pp.
     PDF




  49 pp.
1,377 pp.
     PDF




  50 pp.
1,408 pp.
     PDF




  31 pp.
1,408 pp.


                   1,344 pp.



books.google.com
high barrier to entry




   API

developers
E

C
H
A
N         SDMX
G
E



    Shared environment
E

C
H
A
N          SDMX
G       amazingly flexible
E



    Shared environment
E

C
H
A
N          SDMX
G       amazingly complex
E



    Shared environment
E

C
H
A
N          SDMX
G       amazingly complex
E



SDMX-ML is a meta-language
D
    I
                S           TypePad                WordPress
S
            E
M
            I
                N
        A
                    T
                        I
                                existing Twitter clients
O
            N
The Metcalfe-Bray Law
                        D                                 The value of a
    I                                                        markup language
                                                                  is proportional
                S           TypePad                WordPress
                                                                    approximately
S                                                                   to the square
            E                                                         of the
M                                                                     number of
            I                                                         different
                N                                                    software
                                                                   implementations
        A                                                       that can process
                    T                                         it.
                        I                                         Tim Bray
                                existing Twitter clients
O                                                                 Google
            N
The Metcalfe-Bray Law
                        D                                       The value of a
    I                                                              markup language
                                                                        is proportional
                S           Stats provider          Stats provider
                                                                          approximately
S                                                                         to the square
            E                                                               of the
M                                                                           number of
            I                                                               different
                N                                                          software
                                                                         implementations
        A                                                             that can process
                    T                                               it.
                        I                                              Tim Bray
                                       existing clients
O                                                                      Google
            N
D
    I                                                                 Are we
                S           Stats provider          Stats provider
                                                                        so special
S                                                                        that
            E                                                              we
M                                                                          can’t
            I                                                              benefit
                N                                                         from
        A                                                                existing
                    T                                                  libraries
                        I                                            and clients?
                                       existing clients
O
            N
Are we
                            so special
                             that
                               we
        Special things         can’t
                               benefit
                              from
                             existing
                           libraries
                         and clients?


Common things
Population Search API
Population Search API




                 Atom
Population Search API




      Atom OpenSearch
Population Search API




Atom OpenSearch SDMX
Population Search API
Population Search API
Rectifications API
Rectifications API




    Atom OpenSearch
Rectifications API




    Atom OpenSearch
Rectifications API




    Atom OpenSearch
Rectifications API




    Atom OpenSearch
Rectifications API




    Atom OpenSearch
Rectifications API




    Atom OpenSearch
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Atom
OpenSearch
http://www.opensearch.org

Open Data Protocol
http://www.odata.org

Google Data Protocol
http://code.google.com/apis/gdata/

Open Publication Distribution System
http://opds-spec.org
Are we
                            so special
                             that
                               we
        Special things         can’t
                               benefit
                              from
                             existing
                           libraries
                         and clients?


Common things
Are we
                            so special
           SDMX?             that
                               we
        Special things         can’t
                               benefit
                              from
                             existing
                           libraries
                         and clients?


Common things
Are we
                             so special
           SDMX?              that
                                we
        Special things          can’t
                                benefit
                               from
       Simplified SDMX?       existing
                            libraries
                          and clients?


Common things
A Complex System That Works Is Invariably
Found To Have Evolved From A Simple System
               That Worked.




       “Gall’s Law”
       Systemantics
       How Systems Work and Especially How They Fail
       John Gall
The parallel proposition also appears to be true:

  A Complex System Designed From Scratch
 Never Works And Cannot Be Made To Work.
  You Have To Start Over, Beginning With A
         Working Simple System.


         “Gall’s Law”
         Systemantics
         How Systems Work and Especially How They Fail
         John Gall
What’s common practice
  in the API space?
Open APIs and the Semantic Web (John Musser, ProgrammableWeb)
http://www.slideshare.net/jmusser/j-musser-semtechjun2011
“REST”
                                                            RESTish
                                                            Pragmatic REST
                                                            REST-inspired



Open APIs and the Semantic Web (John Musser, ProgrammableWeb)
http://www.slideshare.net/jmusser/j-musser-semtechjun2011
Open APIs and the Semantic Web (John Musser, ProgrammableWeb)
http://www.slideshare.net/jmusser/j-musser-semtechjun2011
Open APIs and the Semantic Web (John Musser, ProgrammableWeb)
http://www.slideshare.net/jmusser/j-musser-semtechjun2011
Open APIs and the Semantic Web (John Musser, ProgrammableWeb)
http://www.slideshare.net/jmusser/j-musser-semtechjun2011
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
<KeyFamilyRef>ALFS_SUMTAB</KeyFamilyRef>
           <Series>
            <SeriesKey>
              <Value concept="LOCATION" value="AUS" />
              <Value concept="SUBJECT" value="YGTT01L1_ST" />
              <Value concept="FREQUENCY" value="A" />
            </SeriesKey>
            <Attributes>
              <Value concept="TIME_FORMAT" value="P1Y" />
            </Attributes>
            <Obs>
              <Time>2000</Time>
              <ObsValue value="19153" />
            </Obs>
            <Obs>
              <Time>2001</Time>
              <ObsValue value="19413" />
            </Obs>
            <Obs>
              <Time>2002</Time>




SDMX-ML
              <ObsValue value="19651" />
            </Obs>
            <Obs>
              <Time>2003</Time>
              <ObsValue value="19895" />
            </Obs>
            <Obs>
              <Time>2004</Time>
              <ObsValue value="20127" />




fragment
            </Obs>
            <Obs>
              <Time>2005</Time>
              <ObsValue value="20395" />
            </Obs>
            <Obs>
              <Time>2006</Time>
              <ObsValue value="20698" />
            </Obs>
            <Obs>
              <Time>2007</Time>
              <ObsValue value="21072" />
            </Obs>
            <Obs>
              <Time>2008</Time>
              <ObsValue value="21499" />
            </Obs>
            <Obs>
              <Time>2009</Time>
              <ObsValue value="21955" />
            </Obs>
            <Obs>
              <Time>2010</Time>
              <ObsValue value="22342" />
            </Obs>
           </Series>
<KeyFamilyRef>ALFS_SUMTAB</KeyFamilyRef>
<KeyFamilyRef>ALFS_SUMTAB</KeyFamilyRef>             <Series>
                                                      <SeriesKey>
<Series>                                                <Value concept="LOCATION" value="AUS" />
 <SeriesKey>                                            <Value concept="SUBJECT" value="YGTT01L1_ST" />
                                                        <Value concept="FREQUENCY" value="A" />
   <Value concept="LOCATION" value="AUS" />           </SeriesKey>
                                                      <Attributes>
   <Value concept="SUBJECT" value="YGTT01L1_ST" />      <Value concept="TIME_FORMAT" value="P1Y" />
                                                      </Attributes>
   <Value concept="FREQUENCY" value="A" />            <Obs>
 </SeriesKey>                                           <Time>2000</Time>
                                                        <ObsValue value="19153" />
 <Attributes>                                         </Obs>
                                                      <Obs>
   <Value concept="TIME_FORMAT" value="P1Y" />          <Time>2001</Time>
                                                        <ObsValue value="19413" />
 </Attributes>                                        </Obs>
 <Obs>                                                <Obs>
                                                        <Time>2002</Time>
   <Time>2000</Time>                                    <ObsValue value="19651" />
                                                      </Obs>
   <ObsValue value="19153" />                         <Obs>
                                                        <Time>2003</Time>
 </Obs>                                                 <ObsValue value="19895" />
 <Obs>                                                </Obs>
                                                      <Obs>
   <Time>2001</Time>                                    <Time>2004</Time>
                                                        <ObsValue value="20127" />
   <ObsValue value="19413" />                         </Obs>
                                                      <Obs>
 </Obs>                                                 <Time>2005</Time>
 <Obs>                                                  <ObsValue value="20395" />
                                                      </Obs>
   <Time>2002</Time>                                  <Obs>
                                                        <Time>2006</Time>
   <ObsValue value="19651" />                           <ObsValue value="20698" />
                                                      </Obs>
 </Obs>                                               <Obs>
 <Obs>                                                  <Time>2007</Time>
                                                        <ObsValue value="21072" />
   <Time>2003</Time>                                  </Obs>
                                                      <Obs>
   <ObsValue value="19895" />                           <Time>2008</Time>
                                                        <ObsValue value="21499" />
 </Obs>                                               </Obs>
 <Obs>                                                <Obs>
                                                        <Time>2009</Time>
   <Time>2004</Time>                                    <ObsValue value="21955" />
                                                      </Obs>
   <ObsValue value="20127" />                         <Obs>
                                                        <Time>2010</Time>
 </Obs>                                                 <ObsValue value="22342" />
 <Obs>                                                </Obs>
                                                     </Series>
   <Time>2005</Time>
<KeyFamilyRef>ALFS_SUMTAB</KeyFamilyRef>             "KeyFamilyRef" : "ALFS_SUMTAB" ,
<Series>                                             "Series" : {
 <SeriesKey>                                           "SeriesKey" : {
   <Value concept="LOCATION" value="AUS" />              "location" : "AUS" ,
   <Value concept="SUBJECT" value="YGTT01L1_ST" />       "subject" : "YGTT01L1_ST" ,
   <Value concept="FREQUENCY" value="A" />               "frequency" : "A"
 </SeriesKey>                                          },
 <Attributes>                                          "Attributes" : {
   <Value concept="TIME_FORMAT" value="P1Y" />           "time_format" : "P1Y"
 </Attributes>                                         },
 <Obs>                                                 "Obs" : [
   <Time>2000</Time>                                     {"2000" : 19153},
   <ObsValue value="19153" />                            {"2001" : 19413},
 </Obs>                                                  {"2002" : 19651},
 <Obs>                                                   {"2003" : 19895},
   <Time>2001</Time>                                     {"2004" : 20127},
   <ObsValue value="19413" />                            {"2005" : 20395},
 </Obs>                                                  {"2006" : 20698},
 <Obs>                                                   {"2007" : 21072},
   <Time>2002</Time>                                     {"2008" : 21499},
   <ObsValue value="19651" />                            {"2009" : 21955},
 </Obs>                                                  {"2010" : 22342}
 <Obs>                                                 ]
   <Time>2003</Time>
   <ObsValue value="19895" />
 </Obs>
 <Obs>
   <Time>2004</Time>
   <ObsValue value="20127" />
 </Obs>
 <Obs>
   <Time>2005</Time>
"KeyFamilyRef" : "ALFS_SUMTAB" ,
"Series" : {
  "SeriesKey" : {
    "location" : "AUS" ,
    "subject" : "YGTT01L1_ST" ,
    "frequency" : "A"
  },
  "Attributes" : {
    "time_format" : "P1Y"
  },
  "Obs" : [
    {"2000" : 19153},
    {"2001" : 19413},
    {"2002" : 19651},
    {"2003" : 19895},
    {"2004" : 20127},
    {"2005" : 20395},
    {"2006" : 20698},
    {"2007" : 21072},
    {"2008" : 21499},
    {"2009" : 21955},
    {"2010" : 22342}
  ]
"KeyFamilyRef" : "ALFS_SUMTAB" ,
"Series" : {
  "SeriesKey" : {
    "location" : "AUS" ,
    "subject" : "YGTT01L1_ST" ,
    "frequency" : "A"
  },
  "Attributes" : {
    "time_format" : "P1Y"
  },
  "Obs" : {
    "2000" : 19153,
    "2001" : 19413,
    "2002" : 19651,
    "2003" : 19895,
    "2004" : 20127,
    "2005" : 20395,
    "2006" : 20698,
    "2007" : 21072,
    "2008" : 21499,
    "2009" : 21955,
    "2010" : 22342
  }
"KeyFamilyRef" : "ALFS_SUMTAB" ,
"Series" : {
  "SeriesKey" : {
    "location" : "AUS" ,
    "subject" : "YGTT01L1_ST" ,
    "frequency" : "A"
  },
  "Attributes" : {
    "time_format" : "P1Y"
  },
  "Obs" : {
    "time": [
       "2000","2001","2002","2003",
       "2004","2005","2006","2007",
       "2008","2009","2010"
    ],
    "value": [
       19153,19413,19651,19895,
       20127,20395,20698,21072,
       21499,21955,22342
    ]
  }
"KeyFamilyRef" : "ALFS_SUMTAB" ,
"Series" : {
  "SeriesKey" : {
    "location" : "AUS" ,
    "subject" : "YGTT01L1_ST" ,
    "frequency" : "A"
  },
  "Attributes" : {
    "time_format" : "P1Y"
  },
  "Obs" : {
    "time": [
       "2000","2001","2002","2003",
       "2004","2005","2006","2007",
       "2008","2009","2010"
    ],
    "value": [
       19153,19413,19651,19895,
       20127,20395,20698,21072,
       21499,21955,22342
    ]
  }
"KeyFamilyRef" : "ALFS_SUMTAB" ,
                         "Series" : {
                           "SeriesKey" : {
                             "location" : "AUS" ,
Natural to programmers       "subject" : "YGTT01L1_ST" ,
                             "frequency" : "A"
                           },
                           "Attributes" : {
                             “time_format" : "P1Y"
                           },
                           "Obs" : {
                             "time": [
                                "2000","2001","2002","2003",
                                "2004","2005","2006","2007",
                                "2008","2009","2010"
                             ],
                             "value": [
                                19153,19413,19651,19895,
                                20127,20395,20698,21072,
                                21499,21955,22342
                             ]
                           }
"KeyFamilyRef" : "ALFS_SUMTAB" ,

a “data” format                   "Series" : {
                                    "SeriesKey" : {
                                      "location" : "AUS" ,
Natural to programmers                "subject" : "YGTT01L1_ST" ,
                                      "frequency" : "A"
                                    },
                                    "Attributes" : {
string, number, bool, null            “time_format" : "P1Y"
                                    },
array (vector, list, sequence)      "Obs" : {
                                      "time": [
                                         "2000","2001","2002","2003",
object (struct, hash table,              "2004","2005","2006","2007",
associative array, map,                  "2008","2009","2010"
                                      ],
record, keyed list, dictionary)       "value": [
                                         19153,19413,19651,19895,
                                         20127,20395,20698,21072,
                                         21499,21955,22342
                                      ]
                                    }
"KeyFamilyRef" : "ALFS_SUMTAB" ,

a “data” format                         "Series" : {
                                          "SeriesKey" : {
                                            "location" : "AUS" ,
Natural to programmers                      "subject" : "YGTT01L1_ST" ,
                                            "frequency" : "A"
                                          },
                                          "Attributes" : {
                                            “time_format" : "P1Y"
“JSON shines as a                         },
                                          "Obs" : {
programming language-                       "time": [
independent representation                     "2000","2001","2002","2003",
                                               "2004","2005","2006","2007",
of typical programming                         "2008","2009","2010"
language data structures.”                  ],
                                            "value": [
       James Clark                             19153,19413,19651,19895,
       Technical lead for the W3C XML          20127,20395,20698,21072,
       activity which developed                21499,21955,22342
       XML 1.0 Recommendation               ]
                                          }
"KeyFamilyRef" : "ALFS_SUMTAB" ,
                         "Series" : {
                           "SeriesKey" : {
                             "location" : "AUS" ,
Natural to programmers       "subject" : "YGTT01L1_ST" ,
                             "frequency" : "A"
                           },
                           "Attributes" : {
value[0] =    19153          “time_format" : "P1Y"
value[1] =    19413        },
value[2] =    19651        "Obs" : {
                             "time": [
value[3] =    19895             "2000","2001","2002","2003",
value[4] =    20127             "2004","2005","2006","2007",
value[5] =    20395             "2008","2009","2010"
                             ],
value[6] =    20698          "value": [
value[7] =    21072             19153,19413,19651,19895,
value[8] =    21499             20127,20395,20698,21072,
                                21499,21955,22342
value[9] =    21955          ]
value[10] =   22342        }
"KeyFamilyRef" : "ALFS_SUMTAB" ,
                         "Series" : {
                           "SeriesKey" : {
                             "location" : "AUS" ,
Natural to programmers       "subject" : "YGTT01L1_ST" ,
                             "frequency" : "A"
                           },
                           "Attributes" : {
                             "time_format" : "P1Y"
                           },
                           "Obs" : {
                             "time": [
                                "2000","2001","2002","2003",
                                "2004","2005","2006","2007",
                                "2008","2009","2010"
                             ],
                             "value": [
                                19153,19413,19651,19895,
                                20127,20395,20698,21072,
                                21499,21955,22342
                             ]
                           }
"KeyFamilyRef" : "ALFS_SUMTAB" ,
                         "Series" : {
                           "SeriesKey" : {
                             "location" : "AUS" ,
Natural to programmers       "subject" : "YGTT01L1_ST" ,
                             "frequency" : "A"
                           },
                           "Attributes" : {
                             "time_format" : "P1Y"
                           },
                           "Obs" : {
                             "time": [
                                "2000","2001","2002","2003",
                                "2004","2005","2006","2007",
                                "2008","2009","2010"
                             ],
                             "value": [
                                19153,19413,19651,19895,
                                20127,20395,20698,21072,
                                21499,21955,22342
                             ]
                           }
From document viewer

Natural to programmers




                         to application platform
Fragmented device market
Fragmented device market
Standards for statistical data dissemination: a wish list
Storage
    Offline
  Geolocation
Audio and Video
    Canvas
 Drag and Drop
       …




                  JS APIs
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
SGML / DTD   XML / XSD
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
JSONP               callback
JSON with padding
C
O
R
S
http://caniuse.com/#feat=cors
Date: Wed, 22 Feb 2012 17:12:52 GMT
Server: Apache
Expires: Wed, 22 Feb 2012 18:12:52 GMT
Access-Control-Allow-Origin: *
Content-Length: 697
Connection: close
Content-Type: application/json;charset=utf-8

200 OK




http://api.idescat.cat/pob/v1/sug.json?q=bar
XML SDMX-ML
JSON
 SDMX-JS?
XML
JSON
XML       Xml2Json()

   JSON
On-the-fly conversion
XML          Xml2Json()

    JSON
On-the-fly conversion
<text>Hello, World!</text>
XML          Xml2Json()

    JSON
On-the-fly conversion
<text>Hello, World!</text>



"text": "Hello, World!"
XML          Xml2Json()

    JSON
On-the-fly conversion
<text>Hello, World!</text>
<text>Goodbye, Life!</text>


"text": "Hello, World!"
XML          Xml2Json()

    JSON
On-the-fly conversion
<text>Hello, World!</text>
<text>Goodbye, Life!</text>


"text": ["Hello, World!",
         "Goodbye, Life!"]
XML          Xml2Json()

    JSON
On-the-fly conversion
<text>Hello, World!</text>



"text": ["Hello, World!"]
XML
   JSON
Predefined map
XML
   JSON
Predefined map
              namespaces?
        elements/attributes?
                 all strings?
“XMLish”
 JSON
Predefined map
{"@concept" : "OBS_STATUS", "@value" : "P"}}},
{"generic:Time" : "2011-04", "generic:ObsValue" :

         “XMLish”
{"@value" : "106.56246"}, "generic:Attributes" :
{"generic:Value" : {"@concept" : "OBS_STATUS",
"@value" : "P"}}}, {"generic:Time" : "2011-05",


          JSON
"generic:ObsValue" : {"@value" : "113.26596"},
"generic:Attributes" : {"generic:Value" :
{"@concept" : "OBS_STATUS", "@value" : "P"}}},
{"generic:Time" : "2011-06", "generic:ObsValue" :
{"@value" : "114.22037"}, "generic:Attributes" :
{"generic:Value" : {"@concept" : "OBS_STATUS",
"@value" : "P"}}}, {"generic:Time" : "2011-07",
"generic:ObsValue" : {"@value" : "108.77534"},
"generic:Attributes" : {"generic:Value" :
{"@concept" : "OBS_STATUS", "@value" : "P"}}},
{"generic:Time" : "2011-08", "generic:ObsValue" :
{"@value" : "116.37424"}, "generic:Attributes" :
natural-born

JSON
natural-born

 JSON
“JSON-G”  genuine
natural-born

 JSON
“JSON-G”
“JSON-C”
compact/customized
Standards for statistical data dissemination: a wish list
Price of an apple?




Save as many bytes
as possible
Price of an apple?

Nutrition value
Allergies
Recipes
Price
Forbidden fruit in
the Garden of Eden
Flexibility
Nutrition value
Allergies
Recipes
Price
Forbidden fruit in
the Garden of Eden
Standards for statistical data dissemination: a wish list
detail=full
detail=dataonly
detail=serieskeysonly
detail=nodata
Standards for statistical data dissemination: a wish list
ResponseGroup=Images,Reviews
Standards for statistical data dissemination: a wish list
fields=id,name,picture
Standards for statistical data dissemination: a wish list
fields=title,teaserbyline,none
Standards for statistical data dissemination: a wish list
:(id,first-name,last-name,positions:(title))
Standards for statistical data dissemination: a wish list
fields=id,scope/type
fields=entry(id,gd:when)
fields=entry(@gd:*,id,gd:when)
fields=entry(title,link[@rel='self' or @rel='edit'],
media:group(media:thumbnail))
fields=entry[media:group/yt:duration/@seconds
<= 120 and yt:statistics/@viewCount > 20]
simple
 flexible
                           RESTish
               JSON
lightweight
developer-centric
                    mobile-friendly
simple
 flexible
                         RESTish
               JSON
lightweight
              Semantic Web-ish?
developer-centric
                  mobile-friendly
I have a dream for the Web [in which computers] become
capable of analyzing all the data on the Web – the content,
links, and transactions between people and computers. A
‘Semantic Web’, which should make this possible, has yet to
emerge, but when it does, the day-to-day mechanisms of
trade, bureaucracy and our daily lives will be handled by
machines talking to machines. The ‘intelligent agents’ people
have touted for ages will finally materialize.

                                        Tim Berners-Lee
                                        Director of the W3C, 1999
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
Statistical “Cube” Data. The group will produce a
vocabulary, compatible with SDMX, for expressing
some kinds of statistical data. This need not be as
expressive as all of SDMX, but may provide a subset
as in the RDF Data Cube vocabulary. It may also include ways to
annotate data to indicate its assumptions and comparability.
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
The Mainstream
Relevance “Law”

The mainstream
relevance of a
communication
environment is
proportional to
the quantity of
rubbish in that
environment.
The Mainstream
Relevance “Law”

The mainstream
relevance of a
communication
environment is
proportional to
the quantity of
rubbish in that
environment.
The Mainstream
Relevance “Law”



     TV
   e-mail
   Twitter
     ...
simple?
 flexible
                        RESTish
               JSON?
lightweight?
              Semantic Web-ish?
developer-centric?
                 mobile-friendly?
Open APIs and the Semantic Web (John Musser, ProgrammableWeb)
http://www.slideshare.net/jmusser/j-musser-semtechjun2011
Open APIs and the Semantic Web (John Musser, ProgrammableWeb)
http://www.slideshare.net/jmusser/j-musser-semtechjun2011
Standards for statistical data dissemination: a wish list
Standards for statistical data dissemination: a wish list
For some web developers the need to understand
the RDF data model and associated serializations and
query language (SPARQL) has proved a barrier to
adoption of linked data. This project seeks to develop
APIs, data formats and supporting tools to overcome
this barrier. Including, but not limited to, accessing
linked data via a developer-friendly JSON format.
Simplify + JSONify SDMX?


Reuse/adapt a generic data format?
              semantic
Simplify + JSONify SDMX?


Reuse/adapt a generic data format?
              semantic

Create a new simple standard for stats?
http://json-stat.org
http://json-stat.org




lightweight
http://json-stat.org




simple
http://json-stat.org




developer-centric
http://json-stat.org




flexible
http://code.google.com/p/json-stat/
{
  "label": "Latest population figure of Catalonia",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1,1,1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "U" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
    "time" : {
//                             "value": [7539618]
       "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" }
       }
    }
  }
}
{
  "label": "Latest population figure of Catalonia",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
"id"} ,
       : ["metric", "time", "geo"],
    "time" : {
"size" : [1, 1, 1],
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" }
       }
    }
  }
}
{
  "label": "Latest population figure of Catalonia",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
    "index" : { "pop" : 0 } ,
       "category" : {
         "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"}
    "label" : { "pop" : "Population" }
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" }
       }
    }
  }
}
{
  "label": "Latest population figure of Catalonia",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
    "index" : { "pop" : 0 } ,
       "category" : {
         "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"}
    "label" : { "pop" : "Population" }
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" }
       }
    }
  }
}
{
  "label": "Latest population figure of Catalonia",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" :   0} }

       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" }
       }
    }
  }
}
{
  "label": "Latest population figure of Catalonia",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" :   0} }

       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
"index" : {"2011-01-01" : 0} ,
       "category" : {
         "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" }
"label" : {"2011-01-01" : "January 1st, 2011"}
       }
    }
  }
}
{
  "label": "Latest population figure of Catalonia",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" :   0} }

       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
"index" : {"2011-01-01" : 0} ,
       "category" : {
         "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" }
"label" : {"2011-01-01" : "January 1st, 2011"}
       }
    }
  }
}
{
  "label": "Latest population figure of Catalonia",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" :   0} }

       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
"index" : {"2011-01-01" : 0} ,
       "category" : {
         "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" }
"label" : {"2011-01-01" : "January 1st, 2011"}
       }
    }
  }
}
{
  "label": "Latest population figure of Catalonia",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"}
       }
    }
  }
}
{
  "label": "Latest population figure of Catalonia",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
"index" : { "ISO-3166-2:ES-CT" : 0 } ,
//
    "time" : {
       "label" : "When" , "desc" : "Longer text",
"label" : { "ISO-3166-2:ES-CT" : "Catalonia" }
       "category" : {
         "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"}
       }
    }
  }
}
{
  "label": "Latest population figure of Catalonia",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
"index" : { "ISO-3166-2:ES-CT" : 0 } ,
//
    "time" : {
       "label" : "When" , "desc" : "Longer text",
"label" : { "ISO-3166-2:ES-CT" : "Catalonia" }
       "category" : {
         "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"}
       }
    }
  }
}
{
  "label": "Population of Catalonia, January 1st, 2011",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"}
       }
    }
  }
}
{
  "label": “Population of Catalonia, January 1st, 2011",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"}
       }
    }
  }
}
{
  "label": “Population of Catalonia, January 1st, 2011",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
           "type"                       :     {     "pop"              :      "count" } ,
         "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"}
       }
    } ,    "base"                       :     {     "pop"              :      "Person" } ,
    "geo" : {
//
           "symbol"                     :     {
      "label" : "Where" , "desc" : "Longer text",
                                                    "pop"              :      null } ,
           "mult"
       "category" : {
                                        :     {     "pop"              :      0 }
         "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"}
       }
    }
  }
}
{
  "label": “Population of Catalonia, January 1st, 2011",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"}
       }
    }
  }
}
{
  "label": “Population of Catalonia, January 1st, 2011",
  "value": [7539618] ,
        "long" : 2.178389,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
        "lat" : 41.383531
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"}
       }
    }
  }
}
{
  "label": “Population of Catalonia, January 1st, 2011",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"}
       }
    } ,
    "geo" : {
"index" : {"20110101" : 0} ,
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
"label" : {"20110101" : "January 1st, 2011"}
         "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"}
       }
    }
  }
}
{
  "label": “Population of Catalonia, January 1st, 2011",
  "value": [7539618] ,
       "index"
  "dimension" : {: {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
         "from" : "20000101"
    "metric": {
                                                                                ,
//
         "to"   : "20110101"
       "label" : "What" , "desc" : "Longer text",
       "category" : {
       } "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"}
       }
    } ,
    "geo" : {
"index" : {"20110101" : 0} ,
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
"label" : {"20110101" : "January 1st, 2011"}
         "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"}
       }
    }
  }
}
{
  "label": “Population of Catalonia, January 1st, 2011",
  "value": [7539618] ,
  "dimension" : {
    "id" : ["metric", "time", "geo"], "size" : [1, 1, 1],
    "metric": {
//     "label" : "What" , "desc" : "Longer text",
       "category" : {
         "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } ,
         "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} }
       }
    } ,
    "time" : {
//     "label" : "When" , "desc" : "Longer text",
       "category" : {
         "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"}
       }
    } ,
    "geo" : {
//    "label" : "Where" , "desc" : "Longer text",
       "category" : {
         "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"}
       }
    }
  }
}
"value": [3732196, 3807422 , 7539618]
"value": [3732196, 3807422 , 7539618]
"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 1, 1, 3]
"value": [3732196, 3807422 , 7539618]
"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 1, 1, 3]
"sex" : {
  "category" : {
    "index" : {"M" : 0 , "F" : 1 , "T" : 2} ,
    "label" : {
      "M" : "Men" ,
      "F" : "Women" ,
      "T" : "Total"
    }
  }
}
"value": [3732196, 3807422 , 7539618]
"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 1, 1, 3]
"sex" : {
  "category" : {
    "index" : {"M" : 0 , "F" : 1 , "T" : 2} ,
    "label" : {
      "M" : "Men" ,
      "F" : "Women" ,
      "T" : "Total"
    }
  }                 Names not predetermined!
}
"value": [3732196, 3807422 , 7539618]
"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 1, 1, 3]
"sex" : {
  "category" : {
    "index" : {"M" : 0 , "F" : 1 , "T" : 2} ,
    "label" : {
      "M" : "Men" ,
      "F" : "Women" ,
      "T" : "Total"
    }
  }    value[dimension["sex"].category.index["F"]]
}
"value": [3732196, 3807422 , 7539618]
"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 1, 1, 3]
"sex" : {
  "category" : {
    "id" : ["M", "F", "T"] ,
    "label" : ["Men", "Women", "Total"]
  }
}



        value[dimension["sex"].category.index["F"]]
"value": [3732196, 3807422 , 7539618]
"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 1, 1, 3]
"sex" : {
  "category" : {
    "id" : ["M", "F", "T"] ,
    "label" : ["Men", "Women", "Total"]
  }
}
                       for( ; ; ){ ... }

        value[dimension["sex"].category.index["F"]]
"value": [3732196, 3807422 , 7539618]
"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 1, 1, 3]
"sex" : {
  "category" : {
    "index" : {"M" : 0 , "F" : 1 , "T" : 2} ,
    "label" : {
      "M" : "Men" ,
      "F" : "Women" ,
      "T" : "Total"
    }
  }
}
"value": [3732196, 3807422 , 7539618]
"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 1, 1, 3]
"sex3" : {
  "attribute" : "sex" ,
  "category" : {
    "index" : {"M" : 0 , "F" : 1 , "T" : 2} ,
    "label" : {
      "M" : "Men" ,
      "F" : "Women" ,
      "T" : "Total"
    }
  }
}
"value": [
    3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196,
    3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422,
    6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618

]
"value": [
    3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196,
    3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422,
    6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618

]


                          ↓ cryptic
                          ↑ single model
"value": [
    3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196,
    3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422,
    6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618

]


                          ↓ cryptic
                          ↑ single model

"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 12, 1, 3]
"value": [
    3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196,
    3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422,
    6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618

]
    2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011




"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 12, 1, 3]
"value": [
    3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196,
    3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422,
    6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618

]
    2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011



    Male
    Female
    Total
"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 12, 1, 3]
"value": [
    3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196,
    3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422,
    6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618

]
    2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011



    Male
    Female                                      “CSV revisited”
    Total
"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 12, 1, 3]
"value": [
    3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196,
    3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422,
    6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618

]



getDataById(ds, {"sex" : "M" , "time" : "20090101"})




"id"   : ["metric", "time", "geo", "sex"] ,
"size" : [1, 12, 1, 3]
"value": [
    3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196,
    3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422,
    6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618

]


"status": [
       "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "p", "e",
       "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "p", "e",
       "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "p", "e"
]
"value": [3732196, 3807422 , 7539618]



"sex" : {
  "category" : {
    "index" : {"M" : 0 , "F" : 1 , "T" : 2} ,
    "label" : {
      "M" : "Men" ,
      "F" : "Women" ,
      "T" : "Total"
    } ,
  }
}
"value": [3732196, 3807422 , 7539618]



"sex" : {
  "category" : {
    "index" : {"M" : 0 , "F" : 1 , "T" : 2} ,
    "label" : {
      "M" : "Men" ,
      "F" : "Women" ,
      "T" : "Total"
    } ,
    "uri" : "http://jsonstat.dataprovider.org/dimension/sex.json",
  }
}
"value": [3732196, 3807422 , 7539618]



"sex" : {
  "category" : {
    "uri" : "http://jsonstat.dataprovider.org/dimension/sex.json",
  }
}
The JSON-stat
 Community
Welcomes You!
The JSON-stat
 Community
Welcomes You!
 Needs You!
Standards for statistical data dissemination




                                      a wish list
                     Xavier Badosa (@badosa)
                     Statistical Institute of Catalonia
  Thank you
                     OECD Statistical Information System
                     Collaboration Community (SIS-CC)
                     Workshop 2012. Paris, 12-14 March
Dan Taylor
                     borman818 / Daniel Borman
                     Christian Cable
                     Ian Muttoo
                     Donald Macleod
                     Lushbunny
                     shaggy359
Wikimedia Commons

            http://en.wikipedia.org/wiki/File:IBM_PC_5150.jpg

            http://en.wikipedia.org/wiki/File:Asimo_look_new_design.jpg


                     Richard Cyganiak
Photos of products and webpages have been taken from the respective
companies’ websites. 1993 Mosaic webpage, © Board of Trustees of the
University of Illinois, taken from the Computer History Museum website.
Superman logo (free licence) from vectortemplates.com. Authors’
pictures taken from respective websites or Twitter accounts, except Tim
Berners-Lee taken from a video session. HTML5 logo from W3C. Image from
Stanley Kubrick’s Dr. Strangelove or: How I Learned to Stop Worrying and
Love the Bomb, © Columbia Pictures. Homo erectus’ drawing taken from
recursos.cnice.mec.es (Spanish Ministry of Education & Science). Homo
sapiens neanderthalis’ drawing taken from vanedf11.blogspot.com.
1 of 239

More Related Content

Similar to Standards for statistical data dissemination: a wish list(20)

UNIT-1 Start Learning R.pdfUNIT-1 Start Learning R.pdf
UNIT-1 Start Learning R.pdf
Sweta Kumari Barnwal19 views
2 it   unit-1 start learning r2 it   unit-1 start learning r
2 it unit-1 start learning r
Netaji Gandi219 views
Sudipta_Mukherjee_Resume-Nov_2022.pdfSudipta_Mukherjee_Resume-Nov_2022.pdf
Sudipta_Mukherjee_Resume-Nov_2022.pdf
Sudipta Mukherjee23 views
R programming languageR programming language
R programming language
Keerti Verma9.4K views
Abdel RhmanAbdel Rhman
Abdel Rhman
AlienBeard20 views
Stephen ResumeStephen Resume
Stephen Resume
He Dai85 views
R for data analyticsR for data analytics
R for data analytics
VijayMohan Vasu1.4K views
R_L1-Aug-2022.pptxR_L1-Aug-2022.pptx
R_L1-Aug-2022.pptx
ShantilalBhayal118 views
NiteshNitesh
Nitesh
Nitesh Prabhat54 views
Appies OverviewAppies Overview
Appies Overview
Appies12.8K views

More from Xavier Badosa(10)

Standards for statistical data dissemination: a wish list

  • 1. Standards for statistical data dissemination a wish list Xavier Badosa (@badosa) Statistical Institute of Catalonia OECD Statistical Information System Collaboration Community (SIS-CC) Workshop 2012. Paris, 12-14 March
  • 4. For humans (naked) (accessed and read by humans)
  • 5. For humans (naked) (accessed and read humans)
  • 6. For humans with machines (accessed by humans, but read by machines) For humans (naked) (accessed and read humans)
  • 8. For machines built by humans
  • 9. For machines built by humans (accessed and read by machines)
  • 10. API D A T A
  • 13. How I stopped worrying about my website and learned to love the whole Internet Matt McAlister Director of Digital Strategy Guardian Media Group
  • 14. We don’t operate in the eyeball market maximum data exposure & reach We operate in the accuracy preservation reference market brand recognition
  • 19. E A B C H A Big orgs N G Stats-savvy E B2B
  • 20. E A B C H A Big orgs N G Stats-savvy E B2B Shared environment
  • 21. D I S S E M I N A T I O N
  • 22. ?
  • 23. like the ? WWW
  • 25. For machines built by humans
  • 26. don’t make me think KISS principle respect the conventions develop also for the weakest link
  • 27. is a platform An example
  • 28. is widely used An example
  • 29. 2006 is widely used 2009 50,000 applications
  • 30. is widely used # mashups
  • 32. is widely used had more than 1 provider
  • 37. is widely used = is a standard
  • 38. “these APIs are simple enough for weekend hackers to build interesting projects on, and (…) easy to implement even on mobile devices and in almost any programming language.” Anil Dash Expert Labs http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
  • 39. KISS principle “these APIs are simple enough for weekend hackers to build interesting projects on, and (…) easy to implement even on mobile devices and in almost any programming language.” Anil Dash Expert Labs http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
  • 40. develop for the weakest link “these APIs are simple enough for weekend hackers to build interesting projects on, and (…) easy to implement even on mobile devices and in almost any programming language.” Anil Dash Expert Labs http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
  • 41. provide a useful service “these APIs are simple enough for weekend hackers to build interesting projects on, and (…) easy to implement even on mobile devices and in almost any programming language.” Anil Dash Expert Labs http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
  • 42. get close to the end users “these APIs are simple enough for weekend hackers to build interesting projects on, and (…) easy to implement even on mobile devices and in almost any programming language.” Anil Dash Expert Labs http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
  • 43. langs / APIs ~ browsers / websites “these APIs are simple enough for weekend hackers to build interesting projects on, and (…) easy to implement even on mobile devices and in almost any programming language.” Anil Dash Expert Labs http://dashes.com/anil/2009/12/the-twitter-api-is-finished.html
  • 44. “these APIs are simple enough for weekend hackers to build interesting projects on, and (…) easy to implement even on mobile devices and in almost any programming language.”
  • 45. 2 APIs REST API 100 x 1.5 = 150 pp. Streaming API 6 x 3 = 18 pp. < 200 pp.
  • 46. 208 pp. < 200 pp. books.google.com
  • 47. The Fifteen Minute Rule A person of reasonable ability should be able to get from zero to ‘Hello World’ in fifteen minutes. Michael E. Driscoll Dataspore, Metamarkets
  • 52. 18 pp. 1 PDF 143 pp.
  • 53. 161 pp. 1 PDF 143 pp.
  • 55. 1,109 pp. ZIP 8 MSW 46 pp. 341 pp. 269 pp. 68 pp. 176 pp. 34 pp. 4 pp. 10 pp.
  • 57. 1,278 pp. ZIP 1 PDF 169 pp.
  • 58. 1,327 pp. PDF 49 pp.
  • 59. 1,377 pp. PDF 50 pp.
  • 60. 1,408 pp. PDF 31 pp.
  • 61. 1,408 pp. 1,344 pp. books.google.com
  • 62. high barrier to entry API developers
  • 63. E C H A N SDMX G E Shared environment
  • 64. E C H A N SDMX G amazingly flexible E Shared environment
  • 65. E C H A N SDMX G amazingly complex E Shared environment
  • 66. E C H A N SDMX G amazingly complex E SDMX-ML is a meta-language
  • 67. D I S TypePad WordPress S E M I N A T I existing Twitter clients O N
  • 68. The Metcalfe-Bray Law D The value of a I markup language is proportional S TypePad WordPress approximately S to the square E of the M number of I different N software implementations A that can process T it. I Tim Bray existing Twitter clients O Google N
  • 69. The Metcalfe-Bray Law D The value of a I markup language is proportional S Stats provider Stats provider approximately S to the square E of the M number of I different N software implementations A that can process T it. I Tim Bray existing clients O Google N
  • 70. D I Are we S Stats provider Stats provider so special S that E we M can’t I benefit N from A existing T libraries I and clients? existing clients O N
  • 71. Are we so special that we Special things can’t benefit from existing libraries and clients? Common things
  • 74. Population Search API Atom OpenSearch
  • 75. Population Search API Atom OpenSearch SDMX
  • 79. Rectifications API Atom OpenSearch
  • 80. Rectifications API Atom OpenSearch
  • 81. Rectifications API Atom OpenSearch
  • 82. Rectifications API Atom OpenSearch
  • 83. Rectifications API Atom OpenSearch
  • 84. Rectifications API Atom OpenSearch
  • 87. Atom OpenSearch http://www.opensearch.org Open Data Protocol http://www.odata.org Google Data Protocol http://code.google.com/apis/gdata/ Open Publication Distribution System http://opds-spec.org
  • 88. Are we so special that we Special things can’t benefit from existing libraries and clients? Common things
  • 89. Are we so special SDMX? that we Special things can’t benefit from existing libraries and clients? Common things
  • 90. Are we so special SDMX? that we Special things can’t benefit from Simplified SDMX? existing libraries and clients? Common things
  • 91. A Complex System That Works Is Invariably Found To Have Evolved From A Simple System That Worked. “Gall’s Law” Systemantics How Systems Work and Especially How They Fail John Gall
  • 92. The parallel proposition also appears to be true: A Complex System Designed From Scratch Never Works And Cannot Be Made To Work. You Have To Start Over, Beginning With A Working Simple System. “Gall’s Law” Systemantics How Systems Work and Especially How They Fail John Gall
  • 93. What’s common practice in the API space?
  • 94. Open APIs and the Semantic Web (John Musser, ProgrammableWeb) http://www.slideshare.net/jmusser/j-musser-semtechjun2011
  • 95. “REST” RESTish Pragmatic REST REST-inspired Open APIs and the Semantic Web (John Musser, ProgrammableWeb) http://www.slideshare.net/jmusser/j-musser-semtechjun2011
  • 96. Open APIs and the Semantic Web (John Musser, ProgrammableWeb) http://www.slideshare.net/jmusser/j-musser-semtechjun2011
  • 97. Open APIs and the Semantic Web (John Musser, ProgrammableWeb) http://www.slideshare.net/jmusser/j-musser-semtechjun2011
  • 98. Open APIs and the Semantic Web (John Musser, ProgrammableWeb) http://www.slideshare.net/jmusser/j-musser-semtechjun2011
  • 102. <KeyFamilyRef>ALFS_SUMTAB</KeyFamilyRef> <Series> <SeriesKey> <Value concept="LOCATION" value="AUS" /> <Value concept="SUBJECT" value="YGTT01L1_ST" /> <Value concept="FREQUENCY" value="A" /> </SeriesKey> <Attributes> <Value concept="TIME_FORMAT" value="P1Y" /> </Attributes> <Obs> <Time>2000</Time> <ObsValue value="19153" /> </Obs> <Obs> <Time>2001</Time> <ObsValue value="19413" /> </Obs> <Obs> <Time>2002</Time> SDMX-ML <ObsValue value="19651" /> </Obs> <Obs> <Time>2003</Time> <ObsValue value="19895" /> </Obs> <Obs> <Time>2004</Time> <ObsValue value="20127" /> fragment </Obs> <Obs> <Time>2005</Time> <ObsValue value="20395" /> </Obs> <Obs> <Time>2006</Time> <ObsValue value="20698" /> </Obs> <Obs> <Time>2007</Time> <ObsValue value="21072" /> </Obs> <Obs> <Time>2008</Time> <ObsValue value="21499" /> </Obs> <Obs> <Time>2009</Time> <ObsValue value="21955" /> </Obs> <Obs> <Time>2010</Time> <ObsValue value="22342" /> </Obs> </Series>
  • 103. <KeyFamilyRef>ALFS_SUMTAB</KeyFamilyRef> <KeyFamilyRef>ALFS_SUMTAB</KeyFamilyRef> <Series> <SeriesKey> <Series> <Value concept="LOCATION" value="AUS" /> <SeriesKey> <Value concept="SUBJECT" value="YGTT01L1_ST" /> <Value concept="FREQUENCY" value="A" /> <Value concept="LOCATION" value="AUS" /> </SeriesKey> <Attributes> <Value concept="SUBJECT" value="YGTT01L1_ST" /> <Value concept="TIME_FORMAT" value="P1Y" /> </Attributes> <Value concept="FREQUENCY" value="A" /> <Obs> </SeriesKey> <Time>2000</Time> <ObsValue value="19153" /> <Attributes> </Obs> <Obs> <Value concept="TIME_FORMAT" value="P1Y" /> <Time>2001</Time> <ObsValue value="19413" /> </Attributes> </Obs> <Obs> <Obs> <Time>2002</Time> <Time>2000</Time> <ObsValue value="19651" /> </Obs> <ObsValue value="19153" /> <Obs> <Time>2003</Time> </Obs> <ObsValue value="19895" /> <Obs> </Obs> <Obs> <Time>2001</Time> <Time>2004</Time> <ObsValue value="20127" /> <ObsValue value="19413" /> </Obs> <Obs> </Obs> <Time>2005</Time> <Obs> <ObsValue value="20395" /> </Obs> <Time>2002</Time> <Obs> <Time>2006</Time> <ObsValue value="19651" /> <ObsValue value="20698" /> </Obs> </Obs> <Obs> <Obs> <Time>2007</Time> <ObsValue value="21072" /> <Time>2003</Time> </Obs> <Obs> <ObsValue value="19895" /> <Time>2008</Time> <ObsValue value="21499" /> </Obs> </Obs> <Obs> <Obs> <Time>2009</Time> <Time>2004</Time> <ObsValue value="21955" /> </Obs> <ObsValue value="20127" /> <Obs> <Time>2010</Time> </Obs> <ObsValue value="22342" /> <Obs> </Obs> </Series> <Time>2005</Time>
  • 104. <KeyFamilyRef>ALFS_SUMTAB</KeyFamilyRef> "KeyFamilyRef" : "ALFS_SUMTAB" , <Series> "Series" : { <SeriesKey> "SeriesKey" : { <Value concept="LOCATION" value="AUS" /> "location" : "AUS" , <Value concept="SUBJECT" value="YGTT01L1_ST" /> "subject" : "YGTT01L1_ST" , <Value concept="FREQUENCY" value="A" /> "frequency" : "A" </SeriesKey> }, <Attributes> "Attributes" : { <Value concept="TIME_FORMAT" value="P1Y" /> "time_format" : "P1Y" </Attributes> }, <Obs> "Obs" : [ <Time>2000</Time> {"2000" : 19153}, <ObsValue value="19153" /> {"2001" : 19413}, </Obs> {"2002" : 19651}, <Obs> {"2003" : 19895}, <Time>2001</Time> {"2004" : 20127}, <ObsValue value="19413" /> {"2005" : 20395}, </Obs> {"2006" : 20698}, <Obs> {"2007" : 21072}, <Time>2002</Time> {"2008" : 21499}, <ObsValue value="19651" /> {"2009" : 21955}, </Obs> {"2010" : 22342} <Obs> ] <Time>2003</Time> <ObsValue value="19895" /> </Obs> <Obs> <Time>2004</Time> <ObsValue value="20127" /> </Obs> <Obs> <Time>2005</Time>
  • 105. "KeyFamilyRef" : "ALFS_SUMTAB" , "Series" : { "SeriesKey" : { "location" : "AUS" , "subject" : "YGTT01L1_ST" , "frequency" : "A" }, "Attributes" : { "time_format" : "P1Y" }, "Obs" : [ {"2000" : 19153}, {"2001" : 19413}, {"2002" : 19651}, {"2003" : 19895}, {"2004" : 20127}, {"2005" : 20395}, {"2006" : 20698}, {"2007" : 21072}, {"2008" : 21499}, {"2009" : 21955}, {"2010" : 22342} ]
  • 106. "KeyFamilyRef" : "ALFS_SUMTAB" , "Series" : { "SeriesKey" : { "location" : "AUS" , "subject" : "YGTT01L1_ST" , "frequency" : "A" }, "Attributes" : { "time_format" : "P1Y" }, "Obs" : { "2000" : 19153, "2001" : 19413, "2002" : 19651, "2003" : 19895, "2004" : 20127, "2005" : 20395, "2006" : 20698, "2007" : 21072, "2008" : 21499, "2009" : 21955, "2010" : 22342 }
  • 107. "KeyFamilyRef" : "ALFS_SUMTAB" , "Series" : { "SeriesKey" : { "location" : "AUS" , "subject" : "YGTT01L1_ST" , "frequency" : "A" }, "Attributes" : { "time_format" : "P1Y" }, "Obs" : { "time": [ "2000","2001","2002","2003", "2004","2005","2006","2007", "2008","2009","2010" ], "value": [ 19153,19413,19651,19895, 20127,20395,20698,21072, 21499,21955,22342 ] }
  • 108. "KeyFamilyRef" : "ALFS_SUMTAB" , "Series" : { "SeriesKey" : { "location" : "AUS" , "subject" : "YGTT01L1_ST" , "frequency" : "A" }, "Attributes" : { "time_format" : "P1Y" }, "Obs" : { "time": [ "2000","2001","2002","2003", "2004","2005","2006","2007", "2008","2009","2010" ], "value": [ 19153,19413,19651,19895, 20127,20395,20698,21072, 21499,21955,22342 ] }
  • 109. "KeyFamilyRef" : "ALFS_SUMTAB" , "Series" : { "SeriesKey" : { "location" : "AUS" , Natural to programmers "subject" : "YGTT01L1_ST" , "frequency" : "A" }, "Attributes" : { “time_format" : "P1Y" }, "Obs" : { "time": [ "2000","2001","2002","2003", "2004","2005","2006","2007", "2008","2009","2010" ], "value": [ 19153,19413,19651,19895, 20127,20395,20698,21072, 21499,21955,22342 ] }
  • 110. "KeyFamilyRef" : "ALFS_SUMTAB" , a “data” format "Series" : { "SeriesKey" : { "location" : "AUS" , Natural to programmers "subject" : "YGTT01L1_ST" , "frequency" : "A" }, "Attributes" : { string, number, bool, null “time_format" : "P1Y" }, array (vector, list, sequence) "Obs" : { "time": [ "2000","2001","2002","2003", object (struct, hash table, "2004","2005","2006","2007", associative array, map, "2008","2009","2010" ], record, keyed list, dictionary) "value": [ 19153,19413,19651,19895, 20127,20395,20698,21072, 21499,21955,22342 ] }
  • 111. "KeyFamilyRef" : "ALFS_SUMTAB" , a “data” format "Series" : { "SeriesKey" : { "location" : "AUS" , Natural to programmers "subject" : "YGTT01L1_ST" , "frequency" : "A" }, "Attributes" : { “time_format" : "P1Y" “JSON shines as a }, "Obs" : { programming language- "time": [ independent representation "2000","2001","2002","2003", "2004","2005","2006","2007", of typical programming "2008","2009","2010" language data structures.” ], "value": [ James Clark 19153,19413,19651,19895, Technical lead for the W3C XML 20127,20395,20698,21072, activity which developed 21499,21955,22342 XML 1.0 Recommendation ] }
  • 112. "KeyFamilyRef" : "ALFS_SUMTAB" , "Series" : { "SeriesKey" : { "location" : "AUS" , Natural to programmers "subject" : "YGTT01L1_ST" , "frequency" : "A" }, "Attributes" : { value[0] = 19153 “time_format" : "P1Y" value[1] = 19413 }, value[2] = 19651 "Obs" : { "time": [ value[3] = 19895 "2000","2001","2002","2003", value[4] = 20127 "2004","2005","2006","2007", value[5] = 20395 "2008","2009","2010" ], value[6] = 20698 "value": [ value[7] = 21072 19153,19413,19651,19895, value[8] = 21499 20127,20395,20698,21072, 21499,21955,22342 value[9] = 21955 ] value[10] = 22342 }
  • 113. "KeyFamilyRef" : "ALFS_SUMTAB" , "Series" : { "SeriesKey" : { "location" : "AUS" , Natural to programmers "subject" : "YGTT01L1_ST" , "frequency" : "A" }, "Attributes" : { "time_format" : "P1Y" }, "Obs" : { "time": [ "2000","2001","2002","2003", "2004","2005","2006","2007", "2008","2009","2010" ], "value": [ 19153,19413,19651,19895, 20127,20395,20698,21072, 21499,21955,22342 ] }
  • 114. "KeyFamilyRef" : "ALFS_SUMTAB" , "Series" : { "SeriesKey" : { "location" : "AUS" , Natural to programmers "subject" : "YGTT01L1_ST" , "frequency" : "A" }, "Attributes" : { "time_format" : "P1Y" }, "Obs" : { "time": [ "2000","2001","2002","2003", "2004","2005","2006","2007", "2008","2009","2010" ], "value": [ 19153,19413,19651,19895, 20127,20395,20698,21072, 21499,21955,22342 ] }
  • 115. From document viewer Natural to programmers to application platform
  • 119. Storage Offline Geolocation Audio and Video Canvas Drag and Drop … JS APIs
  • 124. SGML / DTD XML / XSD
  • 128. JSONP callback JSON with padding
  • 131. Date: Wed, 22 Feb 2012 17:12:52 GMT Server: Apache Expires: Wed, 22 Feb 2012 18:12:52 GMT Access-Control-Allow-Origin: * Content-Length: 697 Connection: close Content-Type: application/json;charset=utf-8 200 OK http://api.idescat.cat/pob/v1/sug.json?q=bar
  • 134. XML Xml2Json() JSON On-the-fly conversion
  • 135. XML Xml2Json() JSON On-the-fly conversion <text>Hello, World!</text>
  • 136. XML Xml2Json() JSON On-the-fly conversion <text>Hello, World!</text> "text": "Hello, World!"
  • 137. XML Xml2Json() JSON On-the-fly conversion <text>Hello, World!</text> <text>Goodbye, Life!</text> "text": "Hello, World!"
  • 138. XML Xml2Json() JSON On-the-fly conversion <text>Hello, World!</text> <text>Goodbye, Life!</text> "text": ["Hello, World!", "Goodbye, Life!"]
  • 139. XML Xml2Json() JSON On-the-fly conversion <text>Hello, World!</text> "text": ["Hello, World!"]
  • 140. XML JSON Predefined map
  • 141. XML JSON Predefined map namespaces? elements/attributes? all strings?
  • 143. {"@concept" : "OBS_STATUS", "@value" : "P"}}}, {"generic:Time" : "2011-04", "generic:ObsValue" : “XMLish” {"@value" : "106.56246"}, "generic:Attributes" : {"generic:Value" : {"@concept" : "OBS_STATUS", "@value" : "P"}}}, {"generic:Time" : "2011-05", JSON "generic:ObsValue" : {"@value" : "113.26596"}, "generic:Attributes" : {"generic:Value" : {"@concept" : "OBS_STATUS", "@value" : "P"}}}, {"generic:Time" : "2011-06", "generic:ObsValue" : {"@value" : "114.22037"}, "generic:Attributes" : {"generic:Value" : {"@concept" : "OBS_STATUS", "@value" : "P"}}}, {"generic:Time" : "2011-07", "generic:ObsValue" : {"@value" : "108.77534"}, "generic:Attributes" : {"generic:Value" : {"@concept" : "OBS_STATUS", "@value" : "P"}}}, {"generic:Time" : "2011-08", "generic:ObsValue" : {"@value" : "116.37424"}, "generic:Attributes" :
  • 148. Price of an apple? Save as many bytes as possible
  • 149. Price of an apple? Nutrition value Allergies Recipes Price Forbidden fruit in the Garden of Eden
  • 167. simple flexible RESTish JSON lightweight developer-centric mobile-friendly
  • 168. simple flexible RESTish JSON lightweight Semantic Web-ish? developer-centric mobile-friendly
  • 169. I have a dream for the Web [in which computers] become capable of analyzing all the data on the Web – the content, links, and transactions between people and computers. A ‘Semantic Web’, which should make this possible, has yet to emerge, but when it does, the day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines. The ‘intelligent agents’ people have touted for ages will finally materialize. Tim Berners-Lee Director of the W3C, 1999
  • 176. Statistical “Cube” Data. The group will produce a vocabulary, compatible with SDMX, for expressing some kinds of statistical data. This need not be as expressive as all of SDMX, but may provide a subset as in the RDF Data Cube vocabulary. It may also include ways to annotate data to indicate its assumptions and comparability.
  • 179. The Mainstream Relevance “Law” The mainstream relevance of a communication environment is proportional to the quantity of rubbish in that environment.
  • 180. The Mainstream Relevance “Law” The mainstream relevance of a communication environment is proportional to the quantity of rubbish in that environment.
  • 181. The Mainstream Relevance “Law” TV e-mail Twitter ...
  • 182. simple? flexible RESTish JSON? lightweight? Semantic Web-ish? developer-centric? mobile-friendly?
  • 183. Open APIs and the Semantic Web (John Musser, ProgrammableWeb) http://www.slideshare.net/jmusser/j-musser-semtechjun2011
  • 184. Open APIs and the Semantic Web (John Musser, ProgrammableWeb) http://www.slideshare.net/jmusser/j-musser-semtechjun2011
  • 187. For some web developers the need to understand the RDF data model and associated serializations and query language (SPARQL) has proved a barrier to adoption of linked data. This project seeks to develop APIs, data formats and supporting tools to overcome this barrier. Including, but not limited to, accessing linked data via a developer-friendly JSON format.
  • 188. Simplify + JSONify SDMX? Reuse/adapt a generic data format? semantic
  • 189. Simplify + JSONify SDMX? Reuse/adapt a generic data format? semantic Create a new simple standard for stats?
  • 196. { "label": "Latest population figure of Catalonia", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1,1,1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "U" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "value": [7539618] "label" : "When" , "desc" : "Longer text", "category" : { "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" } } } } }
  • 197. { "label": "Latest population figure of Catalonia", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } "id"} , : ["metric", "time", "geo"], "time" : { "size" : [1, 1, 1], // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" } } } } }
  • 198. { "label": "Latest population figure of Catalonia", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "index" : { "pop" : 0 } , "category" : { "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"} "label" : { "pop" : "Population" } } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" } } } } }
  • 199. { "label": "Latest population figure of Catalonia", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "index" : { "pop" : 0 } , "category" : { "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"} "label" : { "pop" : "Population" } } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" } } } } }
  • 200. { "label": "Latest population figure of Catalonia", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" } } } } }
  • 201. { "label": "Latest population figure of Catalonia", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "index" : {"2011-01-01" : 0} , "category" : { "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" } "label" : {"2011-01-01" : "January 1st, 2011"} } } } }
  • 202. { "label": "Latest population figure of Catalonia", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "index" : {"2011-01-01" : 0} , "category" : { "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" } "label" : {"2011-01-01" : "January 1st, 2011"} } } } }
  • 203. { "label": "Latest population figure of Catalonia", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "index" : {"2011-01-01" : 0} , "category" : { "index" : { "B" : 0 } , "label" : { "B" : "Catalonia" } "label" : {"2011-01-01" : "January 1st, 2011"} } } } }
  • 204. { "label": "Latest population figure of Catalonia", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"} } } } }
  • 205. { "label": "Latest population figure of Catalonia", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "index" : { "ISO-3166-2:ES-CT" : 0 } , // "time" : { "label" : "When" , "desc" : "Longer text", "label" : { "ISO-3166-2:ES-CT" : "Catalonia" } "category" : { "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"} } } } }
  • 206. { "label": "Latest population figure of Catalonia", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "index" : { "ISO-3166-2:ES-CT" : 0 } , // "time" : { "label" : "When" , "desc" : "Longer text", "label" : { "ISO-3166-2:ES-CT" : "Catalonia" } "category" : { "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"} } } } }
  • 207. { "label": "Population of Catalonia, January 1st, 2011", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"} } } } }
  • 208. { "label": “Population of Catalonia, January 1st, 2011", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"} } } } }
  • 209. { "label": “Population of Catalonia, January 1st, 2011", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "type" : { "pop" : "count" } , "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"} } } , "base" : { "pop" : "Person" } , "geo" : { // "symbol" : { "label" : "Where" , "desc" : "Longer text", "pop" : null } , "mult" "category" : { : { "pop" : 0 } "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"} } } } }
  • 210. { "label": “Population of Catalonia, January 1st, 2011", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"} } } } }
  • 211. { "label": “Population of Catalonia, January 1st, 2011", "value": [7539618] , "long" : 2.178389, "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "lat" : 41.383531 "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"2011-01-01":0} , "label": {"2011-01-01":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"} } } } }
  • 212. { "label": “Population of Catalonia, January 1st, 2011", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"} } } , "geo" : { "index" : {"20110101" : 0} , // "label" : "Where" , "desc" : "Longer text", "category" : { "label" : {"20110101" : "January 1st, 2011"} "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"} } } } }
  • 213. { "label": “Population of Catalonia, January 1st, 2011", "value": [7539618] , "index" "dimension" : {: { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "from" : "20000101" "metric": { , // "to" : "20110101" "label" : "What" , "desc" : "Longer text", "category" : { } "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"} } } , "geo" : { "index" : {"20110101" : 0} , // "label" : "Where" , "desc" : "Longer text", "category" : { "label" : {"20110101" : "January 1st, 2011"} "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"} } } } }
  • 214. { "label": “Population of Catalonia, January 1st, 2011", "value": [7539618] , "dimension" : { "id" : ["metric", "time", "geo"], "size" : [1, 1, 1], "metric": { // "label" : "What" , "desc" : "Longer text", "category" : { "index" : { "pop" : 0 } , "label" : { "pop" : "Population" } , "unit" : {"type" : {"pop" : "count"} , "base" : {"pop" : "Person"} ,"symbol" : { "pop" : null} ,"mult" : {"pop" : 0} } } } , "time" : { // "label" : "When" , "desc" : "Longer text", "category" : { "index": {"20110101":0} , "label": {"20110101":"January 1st, 2011"} } } , "geo" : { // "label" : "Where" , "desc" : "Longer text", "category" : { "index":{"ISO-3166-2:ES-CT":0} , "label":{"ISO-3166-2:ES-CT":"Catalonia"} } } } }
  • 216. "value": [3732196, 3807422 , 7539618] "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 1, 1, 3]
  • 217. "value": [3732196, 3807422 , 7539618] "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 1, 1, 3] "sex" : { "category" : { "index" : {"M" : 0 , "F" : 1 , "T" : 2} , "label" : { "M" : "Men" , "F" : "Women" , "T" : "Total" } } }
  • 218. "value": [3732196, 3807422 , 7539618] "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 1, 1, 3] "sex" : { "category" : { "index" : {"M" : 0 , "F" : 1 , "T" : 2} , "label" : { "M" : "Men" , "F" : "Women" , "T" : "Total" } } Names not predetermined! }
  • 219. "value": [3732196, 3807422 , 7539618] "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 1, 1, 3] "sex" : { "category" : { "index" : {"M" : 0 , "F" : 1 , "T" : 2} , "label" : { "M" : "Men" , "F" : "Women" , "T" : "Total" } } value[dimension["sex"].category.index["F"]] }
  • 220. "value": [3732196, 3807422 , 7539618] "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 1, 1, 3] "sex" : { "category" : { "id" : ["M", "F", "T"] , "label" : ["Men", "Women", "Total"] } } value[dimension["sex"].category.index["F"]]
  • 221. "value": [3732196, 3807422 , 7539618] "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 1, 1, 3] "sex" : { "category" : { "id" : ["M", "F", "T"] , "label" : ["Men", "Women", "Total"] } } for( ; ; ){ ... } value[dimension["sex"].category.index["F"]]
  • 222. "value": [3732196, 3807422 , 7539618] "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 1, 1, 3] "sex" : { "category" : { "index" : {"M" : 0 , "F" : 1 , "T" : 2} , "label" : { "M" : "Men" , "F" : "Women" , "T" : "Total" } } }
  • 223. "value": [3732196, 3807422 , 7539618] "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 1, 1, 3] "sex3" : { "attribute" : "sex" , "category" : { "index" : {"M" : 0 , "F" : 1 , "T" : 2} , "label" : { "M" : "Men" , "F" : "Women" , "T" : "Total" } } }
  • 224. "value": [ 3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196, 3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422, 6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618 ]
  • 225. "value": [ 3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196, 3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422, 6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618 ] ↓ cryptic ↑ single model
  • 226. "value": [ 3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196, 3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422, 6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618 ] ↓ cryptic ↑ single model "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 12, 1, 3]
  • 227. "value": [ 3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196, 3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422, 6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618 ] 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 12, 1, 3]
  • 228. "value": [ 3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196, 3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422, 6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618 ] 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 Male Female Total "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 12, 1, 3]
  • 229. "value": [ 3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196, 3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422, 6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618 ] 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 Male Female “CSV revisited” Total "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 12, 1, 3]
  • 230. "value": [ 3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196, 3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422, 6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618 ] getDataById(ds, {"sex" : "M" , "time" : "20090101"}) "id" : ["metric", "time", "geo", "sex"] , "size" : [1, 12, 1, 3]
  • 231. "value": [ 3058628, 3115336, 3201029, 3309850, 3366329, 3468235, 3543706, 3578176, 3661028, 3713765, 3724515, 3732196, 3203371, 3246029, 3305411, 3394296, 3446990, 3526971, 3590991, 3632332, 3703050, 3761655, 3787866, 3807422, 6261999, 6361365, 6506440, 6704146, 6813319, 6995206, 7134697, 7210508, 7364078, 7475420, 7512381, 7539618 ] "status": [ "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "p", "e", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "p", "e", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "p", "e" ]
  • 232. "value": [3732196, 3807422 , 7539618] "sex" : { "category" : { "index" : {"M" : 0 , "F" : 1 , "T" : 2} , "label" : { "M" : "Men" , "F" : "Women" , "T" : "Total" } , } }
  • 233. "value": [3732196, 3807422 , 7539618] "sex" : { "category" : { "index" : {"M" : 0 , "F" : 1 , "T" : 2} , "label" : { "M" : "Men" , "F" : "Women" , "T" : "Total" } , "uri" : "http://jsonstat.dataprovider.org/dimension/sex.json", } }
  • 234. "value": [3732196, 3807422 , 7539618] "sex" : { "category" : { "uri" : "http://jsonstat.dataprovider.org/dimension/sex.json", } }
  • 237. Standards for statistical data dissemination a wish list Xavier Badosa (@badosa) Statistical Institute of Catalonia Thank you OECD Statistical Information System Collaboration Community (SIS-CC) Workshop 2012. Paris, 12-14 March
  • 238. Dan Taylor borman818 / Daniel Borman Christian Cable Ian Muttoo Donald Macleod Lushbunny shaggy359 Wikimedia Commons http://en.wikipedia.org/wiki/File:IBM_PC_5150.jpg http://en.wikipedia.org/wiki/File:Asimo_look_new_design.jpg Richard Cyganiak
  • 239. Photos of products and webpages have been taken from the respective companies’ websites. 1993 Mosaic webpage, © Board of Trustees of the University of Illinois, taken from the Computer History Museum website. Superman logo (free licence) from vectortemplates.com. Authors’ pictures taken from respective websites or Twitter accounts, except Tim Berners-Lee taken from a video session. HTML5 logo from W3C. Image from Stanley Kubrick’s Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb, © Columbia Pictures. Homo erectus’ drawing taken from recursos.cnice.mec.es (Spanish Ministry of Education & Science). Homo sapiens neanderthalis’ drawing taken from vanedf11.blogspot.com.