18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module...

26
18.07.2013 Module DataLift MagicCSV

Transcript of 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module...

Page 1: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

18.07.2013

Module DataLift

MagicCSV

Page 2: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

2

18.07.2013Gabriel KEPEKLIANProblématique du module

▶DataLift en un clic !

▶ Le défi : peut-on déclencher en un seul clic l’élévation et l’interconnexion de jeux de données proches pour produire un jeu 5 étoiles ?

Page 3: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

3

18.07.2013Gabriel KEPEKLIANREALITY

Page 4: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

4

18.07.2013Gabriel KEPEKLIANLes données sources

CSV or not CSV, that is the question

▶ Beaucoup de données … certaines sont des data plutôt cool

Page 5: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

5

18.07.2013Gabriel KEPEKLIANCSV

▶ Une RFC décrit le format CSV : RFC 4180 - Common Format and MIME Type for Comma-Separated Values (CSV) Files).

▶ Un fichier CSV doit respecter certaines contraintes.

– Être encodé en UTF-8– Ne pas contenir plus de champs que de colonnes– Avoir un enregistrement par ligne– Utiliser la virgule comme delimiteur– Utiliser un delimiteur de fin de ligne

– Si un CSV s’écarte de ces contraintes, c’est un dialect CSVDDF

http://www.normes-internet.com/normes.php?rfc=rfc4180&lang=fr

Page 6: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

6

18.07.2013Gabriel KEPEKLIAN

CSV Dialect Description Format (CSVDDF)

Page 7: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

7

18.07.2013Gabriel KEPEKLIAN

CSV Dialect Description Format (CSVDDF)

{ "csvddf_version": 1.0, "dialect": { "delimiter": ",", "doublequote": false, "lineterminator": "\r\n", "quotechar": "\"", "skipinitialspace": false }}

http://www.dataprotocols.org/en/latest/csv-dialect.html

Page 8: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

8

18.07.2013Gabriel KEPEKLIANSimple Data Format (SDF)

http://www.dataprotocols.org/en/latest/simple-data-format.html

Page 9: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

9

18.07.2013Gabriel KEPEKLIANSimple Data Format (SDF)

▶ 2 fichiers

▶ data.csv▶ datapackage.json

{ "name": "my-dataset", # here we list the data files in this dataset "resources": [ { "path": "data.csv", "schema": { "fields": [ { "id": "var1", "type": "string" }, { "id": "var2", "type": "integer" }, { "id": "var3", "type": "number" } ] } } ]}

var1,var2,var3A,1,2B,3,4

datapackage.json

data.csv

Page 10: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

10

18.07.2013Gabriel KEPEKLIANDSPL : Dataset Publishing Language

▶ Un jeu de données DSPL est un lot qui contient un fichier XML (métadonnées du jeu de données) et un ensemble de fichiers CSV.

https://developers.google.com/public-data/docs/tutorial

Page 11: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

11

18.07.2013Gabriel KEPEKLIAN

DSPL

Page 12: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

12

18.07.2013Gabriel KEPEKLIANLinked CSV

http://jenit.github.io/linked-csv/

Page 13: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

18.07.2013

Plusieurs formats possibles

Nous avons choisi de commencer avec Linked CSV

Page 14: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

18.07.2013

La logique du magicCSV

Page 15: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

15

18.07.2013Gabriel KEPEKLIANEtape 1 : un répertoire

▶Quelque soit le format de data de type CSV, nous partons d’un répertoire

▶Ce répertoire contient des fichiers homogènes en format

▶On ne traitera que les fichiers présentant cette homogénéité

Page 16: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

16

18.07.2013Gabriel KEPEKLIANEtape 2 : collecter les méta

▶Réunir tous les noms de colonne

▶Nom de fichier ▶Nom de colonne▶[Type de données]

N fois

▶Contexte :– On pourrait noter

la langue utilisée.

▶Normaliser les noms de colonne

Page 17: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

17

18.07.2013Gabriel KEPEKLIANEtape 3 : Trouver des ontologies …

▶Les noms de colonne sont nos futurs prédicats

▶Pour chaque nom de colonne, le LOV ne pourrait-il pas nous proposer la liste des ontologies où on trouve ce nom ?

▶Variante : profiter du type de données de la colonne

▶Variante : profiter de la langue utilisée

▶Nom de fichier ▶Nom de colonne▶[Type de données]▶{Ontologie}*

N fois

Page 18: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

18

18.07.2013Gabriel KEPEKLIANEtape 4 : Reserrer

▶Réduire le nombre d’ontologies mises en jeu dans la liste des prédicats et maximiser le score du matching

▶Note 1– les ontologies

doivent être présentes dans LOV

▶Les noms de colonne qui matchent sont remplacés par l’URI du prédicat

Using the LOV Search API. The number of ontologies per data set must be minimized to improve the level of consistency and integration.

Page 19: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

19

18.07.2013Gabriel KEPEKLIANEtape 5 : Finaliser

▶Le matching peut demeurer incomplet

▶Alternative :– compléter automatiquement– compléter manuellement

▶Note 2– les manques de

correspondances peuvent donner lieu à des « améliorations » d’ontologie.▶On finit de remplacer par des

URI les derniers prédicats

Page 20: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

18.07.2013

Jeu d’essai retenu

Page 21: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

21

18.07.2013Gabriel KEPEKLIANLes ontologies mises en jeu

▶ ORG - Core organization ontology– http://lov.okfn.org/dataset/lov/details/vocabulary_org.html

Page 22: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

22

18.07.2013Gabriel KEPEKLIANORG - Core organization ontology

#PREFIX org: <http://www.w3.org/ns/org#>

Page 23: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

23

18.07.2013Gabriel KEPEKLIANLes ontologies mises en jeu

▶ EVENT - The Event Ontology– http://lov.okfn.org/dataset/lov/details/vocabulary_event.html

Page 24: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

24

18.07.2013Gabriel KEPEKLIANEVENT - The Event Ontology

#PREFIX event: <http://purl.org/NET/c4dm/event.owl#>

Page 25: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

25

18.07.2013Gabriel KEPEKLIANLes données utilisées

▶ Des événements organisés par des organisations …

▶ Des organisations organisants des événements …

▶ Des accidents subis par des entreprises, des collectivités …

▶ Liste des évènements culturels et des organismes producteurs d'événements en France et des grandes manifestations en France et à l'étranger …

Page 26: 18.07.2013 Module DataLift MagicCSV. 2 18.07.2013 Gabriel KEPEKLIAN Problématique du module DataLift en un clic ! Le défi : peut-on déclencher en un seul.

18.07.2013

Atos, the Atos logo, Atos Consulting, Atos Worldline, Atos Sphere, Atos Cloud and Atos WorldGrid

are registered trademarks of Atos SA. June 2011

© 2011 Atos. Confidential information owned by Atos, to be used by the recipient only. This document, or any part of it, may not be reproduced, copied, circulated and/or distributed nor quoted

without prior written approval from Atos.

MerciGabriel Képéklian, resp. R&D