discovering implicit schemas in json data

Post on 10-May-2015

281 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Proposing a discovery process to infer the implicit schema of a set of JSON documents

TRANSCRIPT

Discovering Implicit Schemas in JSON Data

Javier Luis Cánovas Izquierdo, Jordi Cabot

{javier.canovas,jordi.cabot}@inria.fr

ICWE ConferenceJuly 2013

APIs everywhere

APIs everywhere

flickr/FortMeade

Format War

flickr/FortMeade

Format War

XML vs. JSON

2009 2010 2011 2012 20130%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

JSON-based API XML-based API

Source: ProgrammableWeb.com

XML vs. JSON

JSON

flickr/Eleaf

Also called JavaScript Object Notation, is a text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects. Despite its relationship to JavaScript, it is language-independent, with parsers available for many languages.

JSON (/ˈdʒeɪsɒn/ jay-sawn, /ˈdʒeɪsən/ jay-sun)

Source: Wikipedia

Also called JavaScript Object Notation, is a text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects. Despite its relationship to JavaScript, it is language-independent, with parsers available for many languages.

JSON (/ˈdʒeɪsɒn/ jay-sawn, /ˈdʒeɪsən/ jay-sun)

… and it is schemaless

flickr/jean-louis zimmermann

Example

flickr/Mads Boedker Our proposal

Discovery of schemas in JSON

Creation Refinement

Creation Refinement

C1 C2 C3 C4 C5

R1 R2 R3

Creation Refinement

Creation Refinement

M1 M2 M3 M4

Discovering dependencies

Implementation

Not enough…

• Allowing developers to enrich the partial schemas• Ideas from database normalization theory and XML-based approaches

Improve discovery process

• Some metrics: effectiveness, coverage, etc.

Evaluate the discovery process

• Automatize the generation of documentation• Identifying use patterns in the JSON-based API

Promote JSON-based APIs

• Generation of mash-ups• …others?

Additional uses

Check it out!https://code.google.com/a/eclipselabs.org/p/json-

discoverer/Except where otherwise noted, content on this presentation is licensed under a Creative Commons Attribution 3.0 License.

Do you wanna try?

top related