SlideShare une entreprise Scribd logo
Open Data 
& 
Linked Data 
Vincent Brouté 
@VincentBroute
La démarche de l’Open Data 
=> Publier des données libres d’accès et de réutilisation en ligne <= 
Comment ? 
Jeux de données (CSV, XLS, PDF, XML, etc) 
Codes postaux des villes (CSV), bulletins meteo mensuels (PDF), Impôts locaux par ville (XLS) 
APIs 
APIs géographiques Geonames, Données sur les bus et vélo STAR de Rennes , horaires des trains TER en France 
Datasets RDF & Endpoints SPARQL (= Linked Open Data) 
data.gov, data.gov.uk, DBPedia, INSEE, IGN, Bibliothèque Nationale de France (depuis août 2014)
La démarche de l’Open Data 
Les acteurs de l’Open Data : 
Les gouvernements 
France, USA, UK, Australie, Union Européenne 
Annuaires des portails Open Data par Pays 
Les entreprises/organismes publics 
SNCF, La Poste, INSEE, Meteo France 
Les villes 
Rennes, Nantes, Paris, New York
Open Data => Linked Data 
Open Data Linked Data 
Linked Data : Technologies développées par le W3C 
Objectif : publier sur le web des données structurées et reliées entre elles
Linked Data 
1994 : Création du W3C & début des réflexions sur le web sémantique 
2001 : Premier article dans une revue scientifique 
2004 : Premiers drafts des recommandations W3C : RDFS, OWL, RDF 
2006 : Semantic Web => Linked Data 
Plenary at WWW Geneva 94 
Ambiguïté sur le nom + erreur stratégique avec l’introduction de notions complexes liées à l’IA : 
“En fait, nous aurions dû l'appeler dès le départ « Web de données ». 
Mais il est trop tard pour changer de nom. ” (Tim-Berners-Lee, 2007) 
2008 : Premier draft pour SPARQL 1.0 
2013 : SPARQL 1.1 publié en tant que “recommandation” 
2014 : RDF 1.1 (JSON-LD + minor fixes) , Sept. 2014 : Working Draft “Linked Data Platform best practices ” 
Ex : “Rennes” sur DBPedia
Organiser les données : RDF 
RDF = Modèle de données, en graph 
Les entités sont décrites par des triplets : 
Sujet : la ressource à décrire. Identifié par une URI HTTP ( = un noeud) 
Prédicat : la relation entre le sujet et l’objet. Identifié par une URI HTTP ( = un arc) 
Objet : litéral ou une autre ressource ( = un autre noeud ou une feuille) 
(+) : le type et la langue de l’objet 
Un graph est composé d’un ensemble de triplets 
/! RDF = le modèle des données => définit l’organisation théorique des données (// modèle relationnel, clé-valeurs, arbre …)
Organiser les données : RDF 
207 178 “Rennes” @fr 
Rennes 
http://fr.dbpedia.org/resource/Rennes 
Nathalie Appéré 
http://fr.dbpedia.org/resource/Nathalie_Appéré 
Ille-et-Vilaine 
http://fr.dbpedia.org/resource/Ille-et-Vilaine 
1975-07-08 
populationTotal 
http://fr.dbpedia.org/ontology/populationTot 
al 
department 
http://fr.dbpedia.org/ontology/department 
maire 
http://fr.dbpedia.org/property/maire 
birthDate 
http://fr.dbpedia.org/ontology/birthDate 
label 
http://www.w3.org/2000/01/rdf-schema# 
label
Organiser les données : RDF 
Sérialisation RDF/XML : 
<?xml version="1.0" encoding="UTF-8"?> 
<rdf:RDF 
xmlns:dbp-ont="http://fr.dbpedia.org/ontology/" 
xmlns:dbp-prop="http://fr.dbpedia.org/property/" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema#" 
xmlns:owl="http://www.w3.org/2002/07/owl#" 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> 
<rdf:Description rdf:about="http://fr.dbpedia.org/resource/Rennes"> 
<rdfs:label>Rennes</rdfs:label> 
<dbp-ont:department rdf:resource="http://fr.dbpedia.org/resource/Ille-et-Vilaine" /> 
<dbp-ont:populationTotal rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">207178</dbp-ont: 
populationTotal> 
<dbp-prop:maire rdf:resource="http://fr.dbpedia.org/resource/Nathalie_Appéré" /> 
</rdf:Description> 
<rdf:Description rdf:about="http://fr.dbpedia.org/resource/Nathalie_Appéré"> 
<rdfs:label>Nathalie Appéré</rdfs:label> 
<dbp-ont:birthDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">1975-07-08</dbp-ont:birthDate> 
</rdf:Description> 
</rdf:RDF>
Organiser les données : RDF 
Plus lisible, la sérialisation Turtle : 
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 
@prefix dbp-prop: <http://fr.dbpedia.org/property/> . 
@prefix dbp-ont: <http://fr.dbpedia.org/ontology/> . 
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . 
<http://fr.dbpedia.org/resource/Rennes> 
rdfs:label "Rennes" ; 
dbp-ont:department <http://fr.dbpedia.org/resource/Ille-et-Vilaine> ; 
dbp-ont:populationTotal 207178^^xsd:integer ; 
dbp-prop:maire <http://fr.dbpedia.org/resource/Nathalie_Appéré> . 
<http://fr.dbpedia.org/resource/Nathalie_Appéré> 
rdfs:label “Nathalie Appéré” ; 
dbp-ont:birthDate “1975-07-08”^^xsd:date . 
Sérialisations RDF : RDF-XML, N-Triples, Turtle, Trig, N-Quads, JSON-LD
Organiser les données : RDF 
3 vocabulaires (ontologies) = 3 niveaux d’expressivité 
Concepts RDF de base : 
rdf:Statement, rdf:subject, rdf:predicate, rdf:object + rdf:type 
http://www.w3.org/1999/02/22-rdf-syntax-ns, Concepts and Abstract Syntax, RDF 1.1 XML Syntax 
Fournit les éléments de base pour construire des ontologies 
rdfs:Class, rdfs:subClassOf, rdfs:domain, rdfs:range, rdfs:label, rdfs:comment 
http://www.w3.org/2000/01/rdf-schema, RDF Schema 1.1 
Niveau le plus expressif, complément à RDFS 
Ex: owl:ReflexiveProperty, owl:TransitiveProperty, etc 
http://www.w3.org/2002/07/owl, OWL 2 Web Ontology Language 
RDF 
RDFS 
OWL 
Objectif : décrire les ressources et créer de nouvelles ontologies
Créer des ontologies avec RDF, RDFS et OWL 
Ontologie Données 
@prefix test: <http://test.com/myontology#> . 
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns> . 
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 
@prefix owl: <http://www.w3.org/2002/07/owl#> . 
test:PopulatedPlace rdf:type owl:Class; 
rdfs:label “Lieu peuplé” . 
test:Town rdf:type owl:Class; 
rdfs:label “Ville”; 
rdfs:subClassOf :PopulatedPlace . 
test:postalCode rdf:type owl:DatatypeProperty ; 
rdfs:label “Code postal”; 
rdfs:domain test:Town ; 
rdfs:range xsd:string . 
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . 
@prefix test: <http://test.com/myontology#> . 
<http://test.com/rennes> rdf:type test:Town; 
rdfs:label “Rennes”; 
test:postalCode “35000” . 
<http://test.com/boulogne-billancourt> rdf:type test:Town; 
rdfs:label “Boulogne-Billancourt”; 
test:postalCode “92100” . 
(...)
Créer des ontologies avec RDF, RDFS et OWL 
Inférence 
Créer des règles pour découvrir de nouvelles relations entre les ressources 
Données : 
John estPereDe Mary 
John estFrereDe Jack 
Règle : 
Si (?x estPereDe ?y ET ?x estFrereDe ?z) alors (?z estOncleDe ?y) 
Inférence : 
Jack estOncleDe Mary 
Reasonners : Cwm, Jena, etc 
?x 
John 
?y 
Mary 
?y 
Jack 
estFrereDe 
estPereDe 
estOncleDe
Stocker les données : triplestores 
> Stocker et requêter RDF 
> Pas de créations de tables, schemas, etc. 
> Langage d’interrogation : SPARQL. 
> Endpoint pour interroger les données via HTTP en SPARQL. (Ex : DBPedia) 
> Quelques triplestores du marché : Sesame, Jena (Apache), Virtuoso
Interroger les données : SPARQL 
● Récupérer le libellé et la population de Rennes sur DBPedia : 
Pattern matching 
prefix dbp-ont: <http://dbpedia.org/ontology/> 
select ?libelle ?pop WHERE { 
<http://fr.dbpedia.org/resource/Rennes> rdfs:label ?libelle ; 
dbp-ont:populationTotal ?pop 
FILTER(lang(?libelle) = 'fr') . 
} 
● Récupérer le libellé et la population de toutes les villes d’Ille-et-Vilaine : 
prefix dbp-ont: <http://dbpedia.org/ontology/> 
select * WHERE { 
?ville dbp-ont:department <http://fr.dbpedia.org/resource/Ille-et-Vilaine> ; 
rdfs:label ?libelle ; 
dbp-ont:populationTotal ?pop 
FILTER(lang(?libelle) = 'fr') . 
}
Interroger les données : SPARQL 
Récupérer sur le SPARQL endpoint de l’INSEE le nombre d’habitants par région en 2010 : 
Rennes 
population PopulationTotale 
populationLegale/commune/35238/2010 207178 
2010-01-01 subdivisionDe 
Arrondissement de Rennes 
Ille-Et-Vilaine 
subdivisionDe 
date 
Ex. pour Rennes :
Interroger les données : SPARQL 
Récupérer sur le SPARQL endpoint de l’INSEE le nombre d’habitants par région en 2010 : 
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX igeo:<http://rdf.insee.fr/def/geo#> 
PREFIX idemo:<http://rdf.insee.fr/def/demo#> 
SELECT ?nomRegion (SUM(?popTotale) as ?pop) where { 
?ville rdf:type igeo:Commune ; 
idemo:population ?population ; 
igeo:subdivisionDe ?arrondissement . 
?arrondissement igeo:subdivisionDe ?dpt . 
?dpt igeo:subdivisionDe ?region . 
?region igeo:nom ?nomRegion . 
?population idemo:date "2010-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ; 
idemo:populationTotale ?popTotale . 
} 
GROUP BY ?nomRegion
Acteurs du Linked Data en France et dans le monde 
● En France 
○ Dbpedia-fr : data RDF + Endpoint SPARQL (Virtuoso) 
○ INSEE : data RDF + Endpoint SPARQL (DataLift) 
○ Bibliothèque Nationale de France : data RDF + Endpoint SPARQL (Virtuoso) 
● Dans le monde 
○ DBPedia : data RDF + Endpoint SPARQL (Virtuoso) 
○ data.gov : data RDF 
○ data.gov.uk : data RDF
Bonus : Freebase 
● Projet collaboratif 
● Données en licence Creative Commons 
● “Rassembler les connaissances du web” 
● Format graph propriétaire (graphd) 
● Langage d’interrogation en JSON : MQL 
● APIs (100 000 requêtes / jour / token) 
Recherches, sélections, écritures, images 
● Dumps RDF disponibles : 
- 1.9 milliards de triplets 
- 250Gb de données 
- Mis à jour 1 fois / semaine 
Exemples : 
Données sur Batman Begins 
Récupérer les enfants de Madonna sur le Endpoint MQL: 
{ 
"type":"/people/person", 
"id":"/en/madonna","children":[] 
}
Questions ?

Contenu connexe

PDF
Introduction au web des données (Linked Data)
PDF
Les technologies du Web appliquées aux données structurées (2ème partie : Rel...
PDF
Découvrir le web sémantique en 15 minutes (Decideo 2014)
PDF
Données liées et Web sémantique : quand le lien fait sens.
PDF
Introduction au web sémantique
PPT
Web sémantique, Web de données, Web 3.0, Linked Data... Quelques repères pour...
PDF
Les bases pour utiliser SPARQL
PDF
Initiation à SPARQL avec Wikidata
Introduction au web des données (Linked Data)
Les technologies du Web appliquées aux données structurées (2ème partie : Rel...
Découvrir le web sémantique en 15 minutes (Decideo 2014)
Données liées et Web sémantique : quand le lien fait sens.
Introduction au web sémantique
Web sémantique, Web de données, Web 3.0, Linked Data... Quelques repères pour...
Les bases pour utiliser SPARQL
Initiation à SPARQL avec Wikidata

Tendances (20)

PPT
A la découverte du Web sémantique
PPTX
Web sémantique
PPT
RDF en quelques slides
PDF
Web sémantique
PDF
Introduction au web sémantique : quand le lient fait sens
PPTX
Web sémantique et Web de données, et si on passait à la pratique ?
ODP
Introduction au Web sémantique
PPT
Le Web de données et les bibliothèques
PDF
Exposé sur le web sémantique de Laurent Salvadori (20-1-12)
PPT
Applications du Web Sémantique
ODP
PPTX
Les ontologies et les graphes RDF
PPT
Échange et interopérabilité des données structurées sur le Web
PPTX
Web sémantique et référentiels : l'avenir de l'image sur le Web
PPTX
Web Sémantique — Linked Data
PDF
Données de la culture et culture des données
PPTX
quand le lien fait sens
PDF
Les technologies du Web appliquées aux données structurées (1ère partie : Enc...
PPTX
Skos transformation
PDF
quand le lien fait sens
A la découverte du Web sémantique
Web sémantique
RDF en quelques slides
Web sémantique
Introduction au web sémantique : quand le lient fait sens
Web sémantique et Web de données, et si on passait à la pratique ?
Introduction au Web sémantique
Le Web de données et les bibliothèques
Exposé sur le web sémantique de Laurent Salvadori (20-1-12)
Applications du Web Sémantique
Les ontologies et les graphes RDF
Échange et interopérabilité des données structurées sur le Web
Web sémantique et référentiels : l'avenir de l'image sur le Web
Web Sémantique — Linked Data
Données de la culture et culture des données
quand le lien fait sens
Les technologies du Web appliquées aux données structurées (1ère partie : Enc...
Skos transformation
quand le lien fait sens
Publicité

En vedette (20)

ODP
Linked Data success stories
PDF
Introduction aux RDF & SPARQL
PPT
Etats des lieux de l'Open Data culturel en France et en Europe
PDF
Le cycle de vie des Données et Métadonnées Publiques Liées Ouvertes
PPTX
Linked Data, Library Users, and the Discovery Tools of the Future
PPTX
Le web sémantique : une nouvelle interopérabilité pour les bibliothèques
PPTX
Economia y politicas alimentarias
PDF
pdf ZIMBABWE
KEY
Ecologia de Objetos de Aprendizaje - JARDIN
PDF
Sistema de Captura de Movimiento de Bajo Costo
PDF
La Presse_publireportage_rockland_low
PPTX
Presentación1
ODP
Diapo_rome
PPTX
ACTIVIDAD INTEGRADORA DEL TERCER PARCIAL. 107 v
PPTX
Projet carrières
PDF
Synthèse relative au bilan d’étape de la convention tripartite Etat / Unedic...
PPSX
kukoc
DOCX
PDF
Société watson
PPT
7ème Rencontre Cyber-bases janvier 2012 1
Linked Data success stories
Introduction aux RDF & SPARQL
Etats des lieux de l'Open Data culturel en France et en Europe
Le cycle de vie des Données et Métadonnées Publiques Liées Ouvertes
Linked Data, Library Users, and the Discovery Tools of the Future
Le web sémantique : une nouvelle interopérabilité pour les bibliothèques
Economia y politicas alimentarias
pdf ZIMBABWE
Ecologia de Objetos de Aprendizaje - JARDIN
Sistema de Captura de Movimiento de Bajo Costo
La Presse_publireportage_rockland_low
Presentación1
Diapo_rome
ACTIVIDAD INTEGRADORA DEL TERCER PARCIAL. 107 v
Projet carrières
Synthèse relative au bilan d’étape de la convention tripartite Etat / Unedic...
kukoc
Société watson
7ème Rencontre Cyber-bases janvier 2012 1
Publicité

Similaire à Open data & linked data (20)

PDF
Mettre nos données en réseau (données de l'IST en France)
PDF
OpenData, LinkedData & SmartCities
PDF
Concevoir un outil d'analyse de réseau en ligne
PDF
Enrichissement de Données RDF Integrées à la Volée - EGC2019 - AWD Workshop
PPTX
Sudoc, Calames, theses.fr et le Web de données
PDF
SPARQL-Generate, présentation SemWeb.Pro 2019
PDF
Jabes 2011 - Ateliers "Sudoc, Calames, thèses.fr et le web de données"
PDF
20121009 10-datalift-camp-paris
PPTX
Moteurs de recherche et web sémantique
PDF
Du web sémantique à tous les étages
PDF
ABES - intervention congrès Semweb pro (5-11-2014)
PDF
Modèles de données et langages de description ouverts 5 - 2021-2022
PPSX
chap1-big-data.pps pour comprendre le problème de big data
PDF
Jabes 2011 - Actualités et projets de l'Abes "Ouverture des données du Sudoc,...
PPT
le web sémantique : un web de métadonnées
PPT
CRFCB AMU evolutions_catalogage_091213_web de données
PDF
Présentation de ElasticSearch / Digital apéro du 12/11/2014
PDF
web sémantique et web social: deux étapes vers les données liées d'un web ubi...
PDF
Jabes 2012 - Tutoriel, vers le Web de données
PDF
Open streetmap pour CocoaHeads Paris
Mettre nos données en réseau (données de l'IST en France)
OpenData, LinkedData & SmartCities
Concevoir un outil d'analyse de réseau en ligne
Enrichissement de Données RDF Integrées à la Volée - EGC2019 - AWD Workshop
Sudoc, Calames, theses.fr et le Web de données
SPARQL-Generate, présentation SemWeb.Pro 2019
Jabes 2011 - Ateliers "Sudoc, Calames, thèses.fr et le web de données"
20121009 10-datalift-camp-paris
Moteurs de recherche et web sémantique
Du web sémantique à tous les étages
ABES - intervention congrès Semweb pro (5-11-2014)
Modèles de données et langages de description ouverts 5 - 2021-2022
chap1-big-data.pps pour comprendre le problème de big data
Jabes 2011 - Actualités et projets de l'Abes "Ouverture des données du Sudoc,...
le web sémantique : un web de métadonnées
CRFCB AMU evolutions_catalogage_091213_web de données
Présentation de ElasticSearch / Digital apéro du 12/11/2014
web sémantique et web social: deux étapes vers les données liées d'un web ubi...
Jabes 2012 - Tutoriel, vers le Web de données
Open streetmap pour CocoaHeads Paris

Open data & linked data

  • 1. Open Data & Linked Data Vincent Brouté @VincentBroute
  • 2. La démarche de l’Open Data => Publier des données libres d’accès et de réutilisation en ligne <= Comment ? Jeux de données (CSV, XLS, PDF, XML, etc) Codes postaux des villes (CSV), bulletins meteo mensuels (PDF), Impôts locaux par ville (XLS) APIs APIs géographiques Geonames, Données sur les bus et vélo STAR de Rennes , horaires des trains TER en France Datasets RDF & Endpoints SPARQL (= Linked Open Data) data.gov, data.gov.uk, DBPedia, INSEE, IGN, Bibliothèque Nationale de France (depuis août 2014)
  • 3. La démarche de l’Open Data Les acteurs de l’Open Data : Les gouvernements France, USA, UK, Australie, Union Européenne Annuaires des portails Open Data par Pays Les entreprises/organismes publics SNCF, La Poste, INSEE, Meteo France Les villes Rennes, Nantes, Paris, New York
  • 4. Open Data => Linked Data Open Data Linked Data Linked Data : Technologies développées par le W3C Objectif : publier sur le web des données structurées et reliées entre elles
  • 5. Linked Data 1994 : Création du W3C & début des réflexions sur le web sémantique 2001 : Premier article dans une revue scientifique 2004 : Premiers drafts des recommandations W3C : RDFS, OWL, RDF 2006 : Semantic Web => Linked Data Plenary at WWW Geneva 94 Ambiguïté sur le nom + erreur stratégique avec l’introduction de notions complexes liées à l’IA : “En fait, nous aurions dû l'appeler dès le départ « Web de données ». Mais il est trop tard pour changer de nom. ” (Tim-Berners-Lee, 2007) 2008 : Premier draft pour SPARQL 1.0 2013 : SPARQL 1.1 publié en tant que “recommandation” 2014 : RDF 1.1 (JSON-LD + minor fixes) , Sept. 2014 : Working Draft “Linked Data Platform best practices ” Ex : “Rennes” sur DBPedia
  • 6. Organiser les données : RDF RDF = Modèle de données, en graph Les entités sont décrites par des triplets : Sujet : la ressource à décrire. Identifié par une URI HTTP ( = un noeud) Prédicat : la relation entre le sujet et l’objet. Identifié par une URI HTTP ( = un arc) Objet : litéral ou une autre ressource ( = un autre noeud ou une feuille) (+) : le type et la langue de l’objet Un graph est composé d’un ensemble de triplets /! RDF = le modèle des données => définit l’organisation théorique des données (// modèle relationnel, clé-valeurs, arbre …)
  • 7. Organiser les données : RDF 207 178 “Rennes” @fr Rennes http://fr.dbpedia.org/resource/Rennes Nathalie Appéré http://fr.dbpedia.org/resource/Nathalie_Appéré Ille-et-Vilaine http://fr.dbpedia.org/resource/Ille-et-Vilaine 1975-07-08 populationTotal http://fr.dbpedia.org/ontology/populationTot al department http://fr.dbpedia.org/ontology/department maire http://fr.dbpedia.org/property/maire birthDate http://fr.dbpedia.org/ontology/birthDate label http://www.w3.org/2000/01/rdf-schema# label
  • 8. Organiser les données : RDF Sérialisation RDF/XML : <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:dbp-ont="http://fr.dbpedia.org/ontology/" xmlns:dbp-prop="http://fr.dbpedia.org/property/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="http://fr.dbpedia.org/resource/Rennes"> <rdfs:label>Rennes</rdfs:label> <dbp-ont:department rdf:resource="http://fr.dbpedia.org/resource/Ille-et-Vilaine" /> <dbp-ont:populationTotal rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">207178</dbp-ont: populationTotal> <dbp-prop:maire rdf:resource="http://fr.dbpedia.org/resource/Nathalie_Appéré" /> </rdf:Description> <rdf:Description rdf:about="http://fr.dbpedia.org/resource/Nathalie_Appéré"> <rdfs:label>Nathalie Appéré</rdfs:label> <dbp-ont:birthDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">1975-07-08</dbp-ont:birthDate> </rdf:Description> </rdf:RDF>
  • 9. Organiser les données : RDF Plus lisible, la sérialisation Turtle : @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix dbp-prop: <http://fr.dbpedia.org/property/> . @prefix dbp-ont: <http://fr.dbpedia.org/ontology/> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . <http://fr.dbpedia.org/resource/Rennes> rdfs:label "Rennes" ; dbp-ont:department <http://fr.dbpedia.org/resource/Ille-et-Vilaine> ; dbp-ont:populationTotal 207178^^xsd:integer ; dbp-prop:maire <http://fr.dbpedia.org/resource/Nathalie_Appéré> . <http://fr.dbpedia.org/resource/Nathalie_Appéré> rdfs:label “Nathalie Appéré” ; dbp-ont:birthDate “1975-07-08”^^xsd:date . Sérialisations RDF : RDF-XML, N-Triples, Turtle, Trig, N-Quads, JSON-LD
  • 10. Organiser les données : RDF 3 vocabulaires (ontologies) = 3 niveaux d’expressivité Concepts RDF de base : rdf:Statement, rdf:subject, rdf:predicate, rdf:object + rdf:type http://www.w3.org/1999/02/22-rdf-syntax-ns, Concepts and Abstract Syntax, RDF 1.1 XML Syntax Fournit les éléments de base pour construire des ontologies rdfs:Class, rdfs:subClassOf, rdfs:domain, rdfs:range, rdfs:label, rdfs:comment http://www.w3.org/2000/01/rdf-schema, RDF Schema 1.1 Niveau le plus expressif, complément à RDFS Ex: owl:ReflexiveProperty, owl:TransitiveProperty, etc http://www.w3.org/2002/07/owl, OWL 2 Web Ontology Language RDF RDFS OWL Objectif : décrire les ressources et créer de nouvelles ontologies
  • 11. Créer des ontologies avec RDF, RDFS et OWL Ontologie Données @prefix test: <http://test.com/myontology#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . test:PopulatedPlace rdf:type owl:Class; rdfs:label “Lieu peuplé” . test:Town rdf:type owl:Class; rdfs:label “Ville”; rdfs:subClassOf :PopulatedPlace . test:postalCode rdf:type owl:DatatypeProperty ; rdfs:label “Code postal”; rdfs:domain test:Town ; rdfs:range xsd:string . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix test: <http://test.com/myontology#> . <http://test.com/rennes> rdf:type test:Town; rdfs:label “Rennes”; test:postalCode “35000” . <http://test.com/boulogne-billancourt> rdf:type test:Town; rdfs:label “Boulogne-Billancourt”; test:postalCode “92100” . (...)
  • 12. Créer des ontologies avec RDF, RDFS et OWL Inférence Créer des règles pour découvrir de nouvelles relations entre les ressources Données : John estPereDe Mary John estFrereDe Jack Règle : Si (?x estPereDe ?y ET ?x estFrereDe ?z) alors (?z estOncleDe ?y) Inférence : Jack estOncleDe Mary Reasonners : Cwm, Jena, etc ?x John ?y Mary ?y Jack estFrereDe estPereDe estOncleDe
  • 13. Stocker les données : triplestores > Stocker et requêter RDF > Pas de créations de tables, schemas, etc. > Langage d’interrogation : SPARQL. > Endpoint pour interroger les données via HTTP en SPARQL. (Ex : DBPedia) > Quelques triplestores du marché : Sesame, Jena (Apache), Virtuoso
  • 14. Interroger les données : SPARQL ● Récupérer le libellé et la population de Rennes sur DBPedia : Pattern matching prefix dbp-ont: <http://dbpedia.org/ontology/> select ?libelle ?pop WHERE { <http://fr.dbpedia.org/resource/Rennes> rdfs:label ?libelle ; dbp-ont:populationTotal ?pop FILTER(lang(?libelle) = 'fr') . } ● Récupérer le libellé et la population de toutes les villes d’Ille-et-Vilaine : prefix dbp-ont: <http://dbpedia.org/ontology/> select * WHERE { ?ville dbp-ont:department <http://fr.dbpedia.org/resource/Ille-et-Vilaine> ; rdfs:label ?libelle ; dbp-ont:populationTotal ?pop FILTER(lang(?libelle) = 'fr') . }
  • 15. Interroger les données : SPARQL Récupérer sur le SPARQL endpoint de l’INSEE le nombre d’habitants par région en 2010 : Rennes population PopulationTotale populationLegale/commune/35238/2010 207178 2010-01-01 subdivisionDe Arrondissement de Rennes Ille-Et-Vilaine subdivisionDe date Ex. pour Rennes :
  • 16. Interroger les données : SPARQL Récupérer sur le SPARQL endpoint de l’INSEE le nombre d’habitants par région en 2010 : PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX igeo:<http://rdf.insee.fr/def/geo#> PREFIX idemo:<http://rdf.insee.fr/def/demo#> SELECT ?nomRegion (SUM(?popTotale) as ?pop) where { ?ville rdf:type igeo:Commune ; idemo:population ?population ; igeo:subdivisionDe ?arrondissement . ?arrondissement igeo:subdivisionDe ?dpt . ?dpt igeo:subdivisionDe ?region . ?region igeo:nom ?nomRegion . ?population idemo:date "2010-01-01"^^<http://www.w3.org/2001/XMLSchema#date> ; idemo:populationTotale ?popTotale . } GROUP BY ?nomRegion
  • 17. Acteurs du Linked Data en France et dans le monde ● En France ○ Dbpedia-fr : data RDF + Endpoint SPARQL (Virtuoso) ○ INSEE : data RDF + Endpoint SPARQL (DataLift) ○ Bibliothèque Nationale de France : data RDF + Endpoint SPARQL (Virtuoso) ● Dans le monde ○ DBPedia : data RDF + Endpoint SPARQL (Virtuoso) ○ data.gov : data RDF ○ data.gov.uk : data RDF
  • 18. Bonus : Freebase ● Projet collaboratif ● Données en licence Creative Commons ● “Rassembler les connaissances du web” ● Format graph propriétaire (graphd) ● Langage d’interrogation en JSON : MQL ● APIs (100 000 requêtes / jour / token) Recherches, sélections, écritures, images ● Dumps RDF disponibles : - 1.9 milliards de triplets - 250Gb de données - Mis à jour 1 fois / semaine Exemples : Données sur Batman Begins Récupérer les enfants de Madonna sur le Endpoint MQL: { "type":"/people/person", "id":"/en/madonna","children":[] }