discovering implicit schemas in json data

29
Discovering Implicit Schemas in JSON Data Javier Luis Cánovas Izquierdo, Jordi Cabot {javier.canovas,jordi.cabot}@inria.fr ICWE Conference July 2013

Upload: javier-canovas

Post on 05-Jul-2015

1.096 views

Category:

Technology


0 download

DESCRIPTION

Slides of the paper "Discovering Implicit Schemas in JSON Data" at International Conference on Web Engineering 2013 (ICWE'13)

TRANSCRIPT

Discovering Implicit

Schemas in JSON DataJavier Luis Cánovas Izquierdo, Jordi Cabot

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

ICWE Conference

July 2013

APIs everywhere

APIs everywhere

flickr/FortMeade

Format War

flickr/FortMeade

Format War

XML vs. JSON

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

2009 2010 2011 2012 2013

JSON-based API XML-based API

Source: ProgrammableWeb.com

XML vs. 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 BoedkerOur 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?