Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

SDMX logo
DRAFT

Introduction to the SDMX-JSON Data Message

ESCB WG-SIM Meeting
26-27 November 2014, Frankfurt

SDMX logo

Background: JSON

JSON (JavaScript Object Notation) is a lightweight data-interchange format.

  • Text based
  • Supports Unicode
  • Documented www.json.org
  • Standardized RFC4627 ECMA-404
  • Language independent (over 30 from ASP to VB)
  • Supported by tools (browsers have built-in support)
  • Used in production (Google, Facebook, Twitter etc.)

2014-10-09

2/15

SDMX logo

Background: JSON and SDMX

SDMX technical standards

2014-10-09

3/15

SDMX logo

Requirements: Conceptual Design

Developers will be able to write software that requests responses in JSON from SDMX RESTful API and processes the data and metadata in the JSON response in order to produce useful data visualizations on the Web.

Conceptual design

2014-10-09

4/15

SDMX logo

Requirements: For the Web

FEMA - 16424 - Photograph by Liz Roll taken on 09-29-2005 in Texas

For Slow Networks

Sea of phones

For Mobile Devices

For Diverse Developers

US Navy 111214-N-PO203-126 Phil Irey explains to Department of the Navy officials the Office of Naval Research's suite of information technology to

For Diverse Users

2014-10-09

5/15

SDMX logo

Requirements: Features

  • Must-have
    • Conforms to the JSON standard ECMA-404.
    • Supports the SDMX 2.1 information model.
    • Supports the full functionality in the SDMX 2.1 RESTful API for data.
    • Supports many different types of visualisations.
    • Streamable on the server.
  • Linear (the more/less, the better)
    • Easy: minimal amount of client code required.
    • Fast: few roundtrips, small messages, and fast parsing.

2014-10-09

6/15

SDMX logo

Implementation: Basics

{
  “header”: { ... },
  “errors”: { ... },
  “structure”: { ... },
  “dataSets”: [ ... ]
}
  • Header is for technical information: prepared, sender, ...
  • Errors is for error messages.
  • Structure contains metadata: dimensions and attributes.
  • DataSets contains the actual data.
  • Examples: flat grouped

2014-10-09

7/15

SDMX logo

Implementation: Data + Structure

  • Data message combines structure (e.g. dimensions and attributes) and data (observation and attribute values) in the same message.
  • Server will join and merge information from different parts of the SDMX IM (e.g. names for codes) into one response message.
  • This avoids multiple requests from the client which saves time and simplifies client code.
  • Client does not need to process different parts of the SDMX IM and their relationships.

2014-10-09

8/15

SDMX logo

Implementation: Metadata Encoding

  • Because dimensions and attributes typically take on a limited number of different values we can store them as integers in the dataset and keep the actual values as part of the structure.
  • This includes both coded and uncoded attributes.
  • The integers map directly to the array indices in the values fields.
  • Statistical package R uses a similar method for storing factor (or categorical) variables.

2014-10-09

9/15

SDMX logo

Implementation: SDMX Features

  • Supports both flat data sets and data sets with series grouping. Also supports optional grouping of common dimension and attribute values.
  • Supports multiple data sets with different actions (update, append, delete, informational).
  • Supports hyperlinks to other parts of the IM (e.g. data flows).
  • Supports optional annotations.
  • Includes human readable names and descriptions for data sets, dimension, attributes etc.
  • Supports roles for dimensions/attributes (time etc.)

2014-10-09

10/15

SDMX logo

More Information



All comments are welcome!
twg@sdmx.org

SDMX logo

Demo: Performance

Content
Speed
Size (uncompressed)
Data Set
Harmonised Index of Consumer Prices (HICP) for the euro area.
Server
European Central Bank SDMX 2.1 RESTful Web Service

Please Wait...

2014-10-09

12/15

SDMX logo

Demo: Dynamic Chart

This time series chart is not a static picture. Client running this presentation sends a request to a server running SDMX 2.1 RESTful Web Service and displays the data in the JSON response.
JavaScript visualisation library D3.js provides the charting functionality.
Refresh Chart

2014-10-09

13/15

SDMX logo

Demo: Interactive Chart

D3.js charts are dynamic and it is possible to add interactivity without any changes to the backend SDMX Web Service.

2014-10-09

14/15

SDMX logo

Demo: International Trade Visualisation

http://goo.gl/9x3lH4

2014-10-09

15/15

Use a spacebar or arrow keys to navigate

Overview Title impress.js