Module DataLift MagicCSV
Problé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 ?
REALITY
Les données sources CSV or not CSV, that is the question Beaucoup de données … certaines sont des data plutôt cool
CSV http://www.normes-internet.com/normes.php?rfc=rfc4180&lang=fr 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
CSV Dialect Description Format (CSVDDF)
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
Simple Data Format (SDF) http://www.dataprotocols.org/en/latest/simple-data-format.html
Simple Data Format (SDF) { "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" } ] 2 fichiers data.csv datapackage.json var1,var2,var3 A,1,2 B,3,4 data.csv datapackage.json
DSPL : 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
DSPL
Linked CSV http://jenit.github.io/linked-csv/
Plusieurs formats possibles Nous avons choisi de commencer avec Linked CSV
La logique du magicCSV
Etape 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é
Etape 2 : collecter les méta Réunir tous les noms de colonne Nom de fichier Nom de colonne [Type de données] N fois Normaliser les noms de colonne Contexte : On pourrait noter la langue utilisée.
Etape 3 : Trouver des ontologies … Les noms de colonne sont nos futurs prédicats Variante : profiter du type de données de la colonne Variante : profiter de la langue utilisée Pour chaque nom de colonne, le LOV ne pourrait-il pas nous proposer la liste des ontologies où on trouve ce nom ? Nom de fichier Nom de colonne [Type de données] {Ontologie}* N fois
les ontologies doivent être présentes dans LOV Etape 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.
Etape 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
Jeu d’essai retenu
Les ontologies mises en jeu ORG - Core organization ontology http://lov.okfn.org/dataset/lov/details/vocabulary_org.html
ORG - Core organization ontology #PREFIX org: <http://www.w3.org/ns/org#>
Les ontologies mises en jeu EVENT - The Event Ontology http://lov.okfn.org/dataset/lov/details/vocabulary_event.html
EVENT - The Event Ontology #PREFIX event: <http://purl.org/NET/c4dm/event.owl#>
Les 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 …
Merci Gabriel Képéklian, resp. R&D 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.