SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Interroger efficacement
des bases de donn´ees relationnelles
avec SPARQL et Ontop
Benjamin Cogrel
KRDB Research Centre for Knowledge and Data
Universit´e Libre de Bozen-Bolzano, Italie
Free University of Bozen-Bolzano
SemWeb.Pro 2015, Paris
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
´Etapes
1 Pourquoi utiliser SPARQL
2 Comment reformuler une requˆete SPARQL vers SQL
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (1/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
Analyse de donn´ees pour l’exploration p´etroli`ere
Construction de mod`eles stratigraphiques
Strat´egique
Env. 900 g´eologues et g´eophysiciens
Source principale : Exploitation and Production Data Store (EPDS)
Donn´ees d’exploration et de production
Env. 1500 tables
Env. 1600 vues mat´erialis´ees
Centaines de gigaoctets
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (2/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
Utilisation simple : requˆetes pr´ed´efinies
G´eologue Application
Requˆetes SQL pr´ed´efinies
R´esultats
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (3/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
Nouvelle requˆete : besoins utilisateurs (simplifi´es)
Tous les puits norv´egiens de tel type
`a proximit´e de tel lieu ayant une
perm´eabilit´e proche de telle valeur.
Attributs : date de mise en service, pro-
fondeur, etc.
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (4/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
D´efinition d’une nouvelle requˆete SQL
G´eologue Application
Expert SI
Traduction
Besoin d’information Requˆete
SQL
R´esultats
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (5/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
D´efinition d’une nouvelle requˆete SQL
G´eologue Application
Expert SI
Traduction
Besoin d’information Requˆete
SQL
R´esultats
Prend 4 jours en moyenne !
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (5/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
Requˆete SQL typique (extrait anonymis´e)
SELECT [...]
FROM
db_name.table1 table1,
db_name.table2 table2a,
db_name.table2 table2b,
db_name.table3 table3a,
db_name.table3 table3b,
db_name.table3 table3c,
db_name.table3 table3d,
db_name.table4 table4a,
db_name.table4 table4b,
db_name.table4 table4c,
db_name.table4 table4d,
db_name.table4 table4e,
db_name.table4 table4f,
db_name.table5 table5a,
db_name.table5 table5b,
db_name.table6 table6a,
db_name.table6 table6b,
db_name.table7 table7a,
db_name.table7 table7b,
db_name.table8 table8,
db_name.table9 table9,
db_name.table10 table10a,
db_name.table10 table10b,
db_name.table10 table10c,
db_name.table11 table11,
db_name.table12 table12,
db_name.table13 table13,
db_name.table14 table14,
db_name.table15 table15,
db_name.table16 table16
WHERE [...]
table2a.attr1=‘keyword’ AND
table3a.attr2=table10c.attr1 AND
table3a.attr6=table6a.attr3 AND
table3a.attr9=‘keyword’ AND
table4a.attr10 IN (‘keyword’) AND
table4a.attr1 IN (‘keyword’) AND
table5a.kinds=table4a.attr13 AND
table5b.kinds=table4c.attr74 AND
table5b.name=‘keyword’ AND
(table6a.attr19=table10c.attr17 OR
(table6a.attr2 IS NULL AND
table10c.attr4 IS NULL)) AND
table6a.attr14=table5b.attr14 AND
table6a.attr2=‘keyword’ AND
(table6b.attr14=table10c.attr8 OR
(table6b.attr4 IS NULL AND
table10c.attr7 IS NULL)) AND
table6b.attr19=table5a.attr55 AND
table6b.attr2=‘keyword’ AND
table7a.attr19=table2b.attr19 AND
table7a.attr17=table15.attr19 AND
table4b.attr11=‘keyword’ AND
table8.attr19=table7a.attr80 AND
table8.attr19=table13.attr20 AND
table8.attr4=‘keyword’ AND
table9.attr10=table16.attr11 AND
table3b.attr19=table10c.attr18 AND
table3b.attr22=table12.attr63 AND
table3b.attr66=‘keyword’ AND
table10a.attr54=table7a.attr8 AND
table10a.attr70=table10c.attr10 AND
table10a.attr16=table4d.attr11 AND
table4c.attr99=‘keyword’ AND
table4c.attr1=‘keyword’ AND
table11.attr10=table5a.attr10 AND
table11.attr40=‘keyword’ AND
table11.attr50=‘keyword’ AND
table2b.attr1=table1.attr8 AND
table2b.attr9 IN (‘keyword’) AND
table2b.attr2 LIKE ‘keyword’% AND
table12.attr9 IN (‘keyword’) AND
table7b.attr1=table2a.attr10 AND
table3c.attr13=table10c.attr1 AND
table3c.attr10=table6b.attr20 AND
table3c.attr13=‘keyword’ AND
table10b.attr16=table10a.attr7 AND
table10b.attr11=table7b.attr8 AND
table10b.attr13=table4b.attr89 AND
table13.attr1=table2b.attr10 AND
table13.attr20=’‘keyword’’ AND
table13.attr15=‘keyword’ AND
table3d.attr49=table12.attr18 AND
table3d.attr18=table10c.attr11 AND
table3d.attr14=‘keyword’ AND
table4d.attr17 IN (‘keyword’) AND
table4d.attr19 IN (‘keyword’) AND
table16.attr28=table11.attr56 AND
table16.attr16=table10b.attr78 AND
table16.attr5=table14.attr56 AND
table4e.attr34 IN (‘keyword’) AND
table4e.attr48 IN (‘keyword’) AND
table4f.attr89=table5b.attr7 AND
table4f.attr45 IN (‘keyword’) AND
table4f.attr1=‘keyword’ AND
table10c.attr2=table4e.attr19 AND
(table10c.attr78=table12.attr56 OR
(table10c.attr55 IS NULL AND
table12.attr17 IS NULL))
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (6/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
Automatisation avec la plateforme Optique
Ontology-Based Data Access (OBDA)
G´eologue Application Ontop
1. Requˆete SPARQL
(haut-niveau)
4. R´esultats SPARQL
2. Requˆete SQL
(bas-niveau)
3. R´esultats SQL
Onto-
logie
Map-
pings
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (7/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
Requˆete SPARQL de haut-niveau
Niveau conceptuel
Ind´ependant du stockage
Terminologie du domaine
formalis´ee (ontologie)
Requˆetes concises
SELECT DISTINCT ?wellbore ?wc
?well ?length
WHERE {
?wellbore npdv:wellboreForDiscovery
?discovery;
npdv:belongsToWell ?well.
?wc npdv:coreForWellbore ?wellbore;
npdv:coresTotalLength ?length.
FILTER (?length < 56796)
}
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (8/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
SPARQL et les bases de donn´ees relationnelles
Transformation d’une BD relationnelle
en un graphe RDF
Pour ˆetre requˆet´ee avec SPARQL
Mappings SQL-RDF (R2RML)
Contraintes de l’ontologie (opt.)
Virtuelle ou mat´erielle
RDFR2RML
Graphe RDF mat´erialis´e
Mat´erialisation du graphe RDF
satur´e
− Maintenance
+ Profils d’ontologie expressifs
(comme OWL 2 RL)
Graphe RDF virtuel
Reformulation de requˆete
+ Aucune mat´erialisation
− Profil d’ontologie moins
expressif (OWL 2 QL) *
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (9/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
SPARQL et les bases de donn´ees relationnelles
Transformation d’une BD relationnelle
en un graphe RDF
Pour ˆetre requˆet´ee avec SPARQL
Mappings SQL-RDF (R2RML)
Contraintes de l’ontologie (opt.)
Virtuelle ou mat´erielle
RDFR2RML
Graphe
saturé
Graphe RDF mat´erialis´e
Mat´erialisation du graphe RDF
satur´e
− Maintenance
+ Profils d’ontologie expressifs
(comme OWL 2 RL)
Graphe RDF virtuel
Reformulation de requˆete
+ Aucune mat´erialisation
− Profil d’ontologie moins
expressif (OWL 2 QL) *
(*) Inclut toutefois un m´ecanisme d’inf´erence absent du profil OWL 2 RL
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (9/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
SPARQL et les bases de donn´ees relationnelles
Transformation d’une BD relationnelle
en un graphe RDF
Pour ˆetre requˆet´ee avec SPARQL
Mappings SQL-RDF (R2RML)
Contraintes de l’ontologie (opt.)
Virtuelle ou mat´erielle
RDFR2RML
Graphe
saturé
Graphe RDF mat´erialis´e
Mat´erialisation du graphe RDF
satur´e
− Maintenance
+ Profils d’ontologie expressifs
(comme OWL 2 RL)
Graphe RDF virtuel
Reformulation de requˆete
+ Aucune mat´erialisation
− Profil d’ontologie moins
expressif (OWL 2 QL) *
(*) Inclut toutefois un m´ecanisme d’inf´erence absent du profil OWL 2 RL
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (9/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
Mapping SQL-RDF
Format natif d’Ontop
Source (SQL)
SELECT wellbore_s, year, month, day
FROM wellbore
WHERE wellbore.r_existence_kd_nm = ’actual’
Cible (RDF, Turtle-like)
:Wellbore-{wellbore_s} :completionDate
"{year}-{month}-{day}"^^xsd:date
Format ´equivalent au standard R2RML (support´e, utilis´e dans Optique)
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (10/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
Reformulation de requˆete
R´e´ecriture
(optionnelle)
Reformulation
`a partir des
mappings
Optimisation
SPARQL SPARQL SQL SQL
Rˆole de l’ontologie OWL 2 QL
Marginal : r´e´ecriture de la requˆete SPARQL (cas tr`es particuliers)
Principal : saturation des mappings (hors-ligne)
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (11/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
Reformulation de requˆete
R´e´ecriture
(optionnelle)
Reformulation
`a partir des
mappings
satur´es
Optimisation
SPARQL SPARQL SQL SQL
Rˆole de l’ontologie OWL 2 QL
Marginal : r´e´ecriture de la requˆete SPARQL (cas tr`es particuliers)
Principal : saturation des mappings (hors-ligne)
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (11/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
Optimisation de la requˆete SQL
Objectif : obtenir une requˆete SQL. . .
Proche de celles ´ecrites par des humains
Adapt´ee aux planificateurs existants
Optimisations structurelles
Jointures d’unions vers unions
de jointures
D´ecomposition des IRIs pour
faciliter les jointures
Optimisations s´emantiques
´Elimination des unions et des
jointures redondantes
`A partir de contraintes
fonctionnelles
Contraintes fonctionnelles
Cl´es primaires, uniques ou ´etrang`eres
Implicites dans les processus m´etiers (Statoil)
Vitales pour la reformulation de requˆete !
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (12/14)
Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion
Conclusion
Ontop
Logiciel libre (Apache 2)
Interfaces Sesame et OWLAPI
Extension Prot´eg´e
Int´egration
Plateforme Optique (FluidOps)
Stardog 4.0 (graphes virtuels)
Quelques exp´erimentations
Agr´egation SPARQL
owl:sameAs via les mappings
Support partiel de SWRL
NoSQL
Liens
Github : ontop/ontop
ontop4obda@googlegroups.com
Twitter : @ontop4obda
http://optique-project.eu
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (13/14)
Annexe
Profil d’ontologie OWL 2 QL
Principales fonctionnalit´es
Hi´erarchies de classes
(rdfs:subclassOf) et de propri´et´es
(rdfs:subPropertyOf)
Signature de propri´et´es
(rdfs:domain, rdfs:range)
Propri´et´es inverses (owl:inverseOf)
Disjonction de classes
(owl:disjointWith)
Participation obligatoire (avanc´e)
Manques
Identit´e d’individus
(owl:sameAs)
Contraintes de
cardinalit´e (propri´et´e
fonctionnelle, etc.)
Et bien d’autres
En r´esum´e
Ontologies l´eg`eres
Un peu plus que RDFS
Traductibilit´e garantie vers SQL
Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (14/14)

Contenu connexe

En vedette (19)

An Introduction to SPARQL
An Introduction to SPARQLAn Introduction to SPARQL
An Introduction to SPARQL
 
SPARQL - Basic and Federated Queries
SPARQL - Basic and Federated QueriesSPARQL - Basic and Federated Queries
SPARQL - Basic and Federated Queries
 
SPARQL Cheat Sheet
SPARQL Cheat SheetSPARQL Cheat Sheet
SPARQL Cheat Sheet
 
Dossierdimanchedesmédias2015v2
Dossierdimanchedesmédias2015v2Dossierdimanchedesmédias2015v2
Dossierdimanchedesmédias2015v2
 
Présentation pépite
Présentation pépitePrésentation pépite
Présentation pépite
 
Twitter para-quien-no-usa-twitter-color
Twitter para-quien-no-usa-twitter-colorTwitter para-quien-no-usa-twitter-color
Twitter para-quien-no-usa-twitter-color
 
Derecho inte y otras disc
Derecho inte y otras discDerecho inte y otras disc
Derecho inte y otras disc
 
Présentation enseignants
Présentation enseignantsPrésentation enseignants
Présentation enseignants
 
21010101204 taller
21010101204   taller21010101204   taller
21010101204 taller
 
Lunch and learn risk when coming to work
Lunch and learn risk when coming to workLunch and learn risk when coming to work
Lunch and learn risk when coming to work
 
00 seb vs les golubs
00 seb vs les golubs00 seb vs les golubs
00 seb vs les golubs
 
Presentación Utpl
Presentación UtplPresentación Utpl
Presentación Utpl
 
21010101204 taller
21010101204   taller21010101204   taller
21010101204 taller
 
Competelengua
CompetelenguaCompetelengua
Competelengua
 
Apprendre un nouveau langage, le cas ruby
Apprendre un nouveau langage, le cas rubyApprendre un nouveau langage, le cas ruby
Apprendre un nouveau langage, le cas ruby
 
La formación en las organizaciones
La formación en las organizacionesLa formación en las organizaciones
La formación en las organizaciones
 
BGL 2007-08_low
BGL 2007-08_lowBGL 2007-08_low
BGL 2007-08_low
 
El informe tecnico
El informe tecnicoEl informe tecnico
El informe tecnico
 
Holas[1].docmo
Holas[1].docmoHolas[1].docmo
Holas[1].docmo
 

Similaire à Interroger efficacement des bases de données relationnelles avec sparql et ontop

Implémentation de la norme Records in Contexts par la Fondation SAPA, Archiv...
Implémentation de la norme Records in Contexts  par la Fondation SAPA, Archiv...Implémentation de la norme Records in Contexts  par la Fondation SAPA, Archiv...
Implémentation de la norme Records in Contexts par la Fondation SAPA, Archiv...Forum des archivistes de l'arc lémanique
 
SPARQL-Generate, présentation SemWeb.Pro 2019
SPARQL-Generate, présentation SemWeb.Pro 2019SPARQL-Generate, présentation SemWeb.Pro 2019
SPARQL-Generate, présentation SemWeb.Pro 2019Maxime Lefrançois
 
Jabes 2019 - Session parallele "Comment et pourquoi faciliter la coconstructi...
Jabes 2019 - Session parallele "Comment et pourquoi faciliter la coconstructi...Jabes 2019 - Session parallele "Comment et pourquoi faciliter la coconstructi...
Jabes 2019 - Session parallele "Comment et pourquoi faciliter la coconstructi...ABES
 
Découvrir le web sémantique en 15 minutes (Decideo 2014)
Découvrir le web sémantique en 15 minutes (Decideo 2014)Découvrir le web sémantique en 15 minutes (Decideo 2014)
Découvrir le web sémantique en 15 minutes (Decideo 2014)François Belleau
 
Acfas 2013 - Comment publier sur le web sémantique : la méthode de Bio2RDF
Acfas 2013 - Comment publier sur le web sémantique : la méthode de Bio2RDFAcfas 2013 - Comment publier sur le web sémantique : la méthode de Bio2RDF
Acfas 2013 - Comment publier sur le web sémantique : la méthode de Bio2RDFFrançois Belleau
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreMICHRAFY MUSTAFA
 
___WS_Chap-5__SPARQL.pdf
___WS_Chap-5__SPARQL.pdf___WS_Chap-5__SPARQL.pdf
___WS_Chap-5__SPARQL.pdfOuailChoukhairi
 
Concevoir un outil d'analyse de réseau en ligne
Concevoir un outil d'analyse de réseau en ligneConcevoir un outil d'analyse de réseau en ligne
Concevoir un outil d'analyse de réseau en ligneNahid Oulmi
 
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big DataJournées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big DataDavid Joubert
 
Jabes 2012 - Concours : utilisation des données de l'Abes pour le dédoublonne...
Jabes 2012 - Concours : utilisation des données de l'Abes pour le dédoublonne...Jabes 2012 - Concours : utilisation des données de l'Abes pour le dédoublonne...
Jabes 2012 - Concours : utilisation des données de l'Abes pour le dédoublonne...ABES
 
Geneva jug Lucene Solr
Geneva jug Lucene Solr Geneva jug Lucene Solr
Geneva jug Lucene Solr francelabs
 
Panorama des logiciels de gestion de références bibliographiques
Panorama des logiciels de gestion de références bibliographiquesPanorama des logiciels de gestion de références bibliographiques
Panorama des logiciels de gestion de références bibliographiquesURFIST de Paris
 
MySQL 5.7 & JSON - Nouvelles opportunités pour les dévelopeurs
MySQL 5.7 & JSON - Nouvelles opportunités pour les dévelopeursMySQL 5.7 & JSON - Nouvelles opportunités pour les dévelopeurs
MySQL 5.7 & JSON - Nouvelles opportunités pour les dévelopeursFrederic Descamps
 
Jeudis du Libre - MySQL comme Document Store
Jeudis du Libre - MySQL comme Document StoreJeudis du Libre - MySQL comme Document Store
Jeudis du Libre - MySQL comme Document StoreFrederic Descamps
 
Bases de données no sql.pdf
Bases de données no sql.pdfBases de données no sql.pdf
Bases de données no sql.pdfZkSadrati
 
Data liftjan2012
Data liftjan2012Data liftjan2012
Data liftjan2012oliviercure
 

Similaire à Interroger efficacement des bases de données relationnelles avec sparql et ontop (20)

Benjamin Cogrel, Accès aux données à un niveau conceptuel avec Ontop
Benjamin Cogrel, Accès aux données à un niveau conceptuel avec OntopBenjamin Cogrel, Accès aux données à un niveau conceptuel avec Ontop
Benjamin Cogrel, Accès aux données à un niveau conceptuel avec Ontop
 
Introduction spark
Introduction sparkIntroduction spark
Introduction spark
 
Implémentation de la norme Records in Contexts par la Fondation SAPA, Archiv...
Implémentation de la norme Records in Contexts  par la Fondation SAPA, Archiv...Implémentation de la norme Records in Contexts  par la Fondation SAPA, Archiv...
Implémentation de la norme Records in Contexts par la Fondation SAPA, Archiv...
 
SPARQL-Generate, présentation SemWeb.Pro 2019
SPARQL-Generate, présentation SemWeb.Pro 2019SPARQL-Generate, présentation SemWeb.Pro 2019
SPARQL-Generate, présentation SemWeb.Pro 2019
 
Jabes 2019 - Session parallele "Comment et pourquoi faciliter la coconstructi...
Jabes 2019 - Session parallele "Comment et pourquoi faciliter la coconstructi...Jabes 2019 - Session parallele "Comment et pourquoi faciliter la coconstructi...
Jabes 2019 - Session parallele "Comment et pourquoi faciliter la coconstructi...
 
Découvrir le web sémantique en 15 minutes (Decideo 2014)
Découvrir le web sémantique en 15 minutes (Decideo 2014)Découvrir le web sémantique en 15 minutes (Decideo 2014)
Découvrir le web sémantique en 15 minutes (Decideo 2014)
 
Acfas 2013 - Comment publier sur le web sémantique : la méthode de Bio2RDF
Acfas 2013 - Comment publier sur le web sémantique : la méthode de Bio2RDFAcfas 2013 - Comment publier sur le web sémantique : la méthode de Bio2RDF
Acfas 2013 - Comment publier sur le web sémantique : la méthode de Bio2RDF
 
5 sw
5 sw5 sw
5 sw
 
Base de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvreBase de données graphe, Noe4j concepts et mise en oeuvre
Base de données graphe, Noe4j concepts et mise en oeuvre
 
Python et NoSQL
Python et NoSQLPython et NoSQL
Python et NoSQL
 
___WS_Chap-5__SPARQL.pdf
___WS_Chap-5__SPARQL.pdf___WS_Chap-5__SPARQL.pdf
___WS_Chap-5__SPARQL.pdf
 
Concevoir un outil d'analyse de réseau en ligne
Concevoir un outil d'analyse de réseau en ligneConcevoir un outil d'analyse de réseau en ligne
Concevoir un outil d'analyse de réseau en ligne
 
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big DataJournées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
Journées SQL 2014 - Hive ou la convergence entre datawarehouse et Big Data
 
Jabes 2012 - Concours : utilisation des données de l'Abes pour le dédoublonne...
Jabes 2012 - Concours : utilisation des données de l'Abes pour le dédoublonne...Jabes 2012 - Concours : utilisation des données de l'Abes pour le dédoublonne...
Jabes 2012 - Concours : utilisation des données de l'Abes pour le dédoublonne...
 
Geneva jug Lucene Solr
Geneva jug Lucene Solr Geneva jug Lucene Solr
Geneva jug Lucene Solr
 
Panorama des logiciels de gestion de références bibliographiques
Panorama des logiciels de gestion de références bibliographiquesPanorama des logiciels de gestion de références bibliographiques
Panorama des logiciels de gestion de références bibliographiques
 
MySQL 5.7 & JSON - Nouvelles opportunités pour les dévelopeurs
MySQL 5.7 & JSON - Nouvelles opportunités pour les dévelopeursMySQL 5.7 & JSON - Nouvelles opportunités pour les dévelopeurs
MySQL 5.7 & JSON - Nouvelles opportunités pour les dévelopeurs
 
Jeudis du Libre - MySQL comme Document Store
Jeudis du Libre - MySQL comme Document StoreJeudis du Libre - MySQL comme Document Store
Jeudis du Libre - MySQL comme Document Store
 
Bases de données no sql.pdf
Bases de données no sql.pdfBases de données no sql.pdf
Bases de données no sql.pdf
 
Data liftjan2012
Data liftjan2012Data liftjan2012
Data liftjan2012
 

Plus de SemWebPro

Sparklis exploration et interrogation de points d'accès sparql par interactio...
Sparklis exploration et interrogation de points d'accès sparql par interactio...Sparklis exploration et interrogation de points d'accès sparql par interactio...
Sparklis exploration et interrogation de points d'accès sparql par interactio...SemWebPro
 
Plugin smilk : données liées et traitement de la langue pour améliorer la nav...
Plugin smilk : données liées et traitement de la langue pour améliorer la nav...Plugin smilk : données liées et traitement de la langue pour améliorer la nav...
Plugin smilk : données liées et traitement de la langue pour améliorer la nav...SemWebPro
 
ÉVolution d'un système de publication de données techniques automobiles, modé...
ÉVolution d'un système de publication de données techniques automobiles, modé...ÉVolution d'un système de publication de données techniques automobiles, modé...
ÉVolution d'un système de publication de données techniques automobiles, modé...SemWebPro
 
Eli des identifiants pour le croisement des sources ouvertes du droit
Eli des identifiants pour le croisement des sources ouvertes du droit Eli des identifiants pour le croisement des sources ouvertes du droit
Eli des identifiants pour le croisement des sources ouvertes du droit SemWebPro
 
Doremus extension de l'ontologie frb roo pour la description des œuvres et ...
Doremus   extension de l'ontologie frb roo pour la description des œuvres et ...Doremus   extension de l'ontologie frb roo pour la description des œuvres et ...
Doremus extension de l'ontologie frb roo pour la description des œuvres et ...SemWebPro
 
Gestion de serveurs avec une plateforme sémantique
Gestion de serveurs avec une plateforme sémantiqueGestion de serveurs avec une plateforme sémantique
Gestion de serveurs avec une plateforme sémantiqueSemWebPro
 
Biblissima : une nouvelle bibliothèque des bibliothèques du moyen âge et de l...
Biblissima : une nouvelle bibliothèque des bibliothèques du moyen âge et de l...Biblissima : une nouvelle bibliothèque des bibliothèques du moyen âge et de l...
Biblissima : une nouvelle bibliothèque des bibliothèques du moyen âge et de l...SemWebPro
 
Utilisation de data.bnf.fr pour alimenter wiki data
Utilisation de data.bnf.fr pour alimenter wiki dataUtilisation de data.bnf.fr pour alimenter wiki data
Utilisation de data.bnf.fr pour alimenter wiki dataSemWebPro
 
Libre théâtre, plateforme facilitant l'accès gratuit aux textes de théâtre fr...
Libre théâtre, plateforme facilitant l'accès gratuit aux textes de théâtre fr...Libre théâtre, plateforme facilitant l'accès gratuit aux textes de théâtre fr...
Libre théâtre, plateforme facilitant l'accès gratuit aux textes de théâtre fr...SemWebPro
 
Feuille de route 3.0 du ministère de la culture
 Feuille de route 3.0 du ministère de la culture Feuille de route 3.0 du ministère de la culture
Feuille de route 3.0 du ministère de la cultureSemWebPro
 
Retour mooc web sémantique
Retour mooc web sémantiqueRetour mooc web sémantique
Retour mooc web sémantiqueSemWebPro
 
Spécialisation du moteur sémantique Cognit’Ive dans différents contextes util...
Spécialisation du moteur sémantique Cognit’Ive dans différents contextes util...Spécialisation du moteur sémantique Cognit’Ive dans différents contextes util...
Spécialisation du moteur sémantique Cognit’Ive dans différents contextes util...SemWebPro
 
Web Sémantique et Linked Open Data : des usages aux données, comment tirer p...
Web Sémantique et Linked Open Data  : des usages aux données, comment tirer p...Web Sémantique et Linked Open Data  : des usages aux données, comment tirer p...
Web Sémantique et Linked Open Data : des usages aux données, comment tirer p...SemWebPro
 
The Read-Write Secure Linked Data Web
The Read-Write Secure Linked Data WebThe Read-Write Secure Linked Data Web
The Read-Write Secure Linked Data WebSemWebPro
 
Présentation du portail sémantique de la FEVIS
Présentation du portail sémantique de la FEVISPrésentation du portail sémantique de la FEVIS
Présentation du portail sémantique de la FEVISSemWebPro
 
Du web sémantique à tous les étages
Du web sémantique à tous les étagesDu web sémantique à tous les étages
Du web sémantique à tous les étagesSemWebPro
 
Présentation de Bano
Présentation de BanoPrésentation de Bano
Présentation de BanoSemWebPro
 
Naturopédia : Publication multi-supports et animation communautaire augmenté...
Naturopédia  : Publication multi-supports et animation communautaire augmenté...Naturopédia  : Publication multi-supports et animation communautaire augmenté...
Naturopédia : Publication multi-supports et animation communautaire augmenté...SemWebPro
 
Réaliser une application Web sémantique grâce à l’outil VIVO - Cas pratique ...
Réaliser une application Web sémantique grâce à l’outil VIVO  - Cas pratique ...Réaliser une application Web sémantique grâce à l’outil VIVO  - Cas pratique ...
Réaliser une application Web sémantique grâce à l’outil VIVO - Cas pratique ...SemWebPro
 
Datalift, une plateforme Linked Data, Retour d'expériences
Datalift, une plateforme Linked Data, Retour d'expériencesDatalift, une plateforme Linked Data, Retour d'expériences
Datalift, une plateforme Linked Data, Retour d'expériencesSemWebPro
 

Plus de SemWebPro (20)

Sparklis exploration et interrogation de points d'accès sparql par interactio...
Sparklis exploration et interrogation de points d'accès sparql par interactio...Sparklis exploration et interrogation de points d'accès sparql par interactio...
Sparklis exploration et interrogation de points d'accès sparql par interactio...
 
Plugin smilk : données liées et traitement de la langue pour améliorer la nav...
Plugin smilk : données liées et traitement de la langue pour améliorer la nav...Plugin smilk : données liées et traitement de la langue pour améliorer la nav...
Plugin smilk : données liées et traitement de la langue pour améliorer la nav...
 
ÉVolution d'un système de publication de données techniques automobiles, modé...
ÉVolution d'un système de publication de données techniques automobiles, modé...ÉVolution d'un système de publication de données techniques automobiles, modé...
ÉVolution d'un système de publication de données techniques automobiles, modé...
 
Eli des identifiants pour le croisement des sources ouvertes du droit
Eli des identifiants pour le croisement des sources ouvertes du droit Eli des identifiants pour le croisement des sources ouvertes du droit
Eli des identifiants pour le croisement des sources ouvertes du droit
 
Doremus extension de l'ontologie frb roo pour la description des œuvres et ...
Doremus   extension de l'ontologie frb roo pour la description des œuvres et ...Doremus   extension de l'ontologie frb roo pour la description des œuvres et ...
Doremus extension de l'ontologie frb roo pour la description des œuvres et ...
 
Gestion de serveurs avec une plateforme sémantique
Gestion de serveurs avec une plateforme sémantiqueGestion de serveurs avec une plateforme sémantique
Gestion de serveurs avec une plateforme sémantique
 
Biblissima : une nouvelle bibliothèque des bibliothèques du moyen âge et de l...
Biblissima : une nouvelle bibliothèque des bibliothèques du moyen âge et de l...Biblissima : une nouvelle bibliothèque des bibliothèques du moyen âge et de l...
Biblissima : une nouvelle bibliothèque des bibliothèques du moyen âge et de l...
 
Utilisation de data.bnf.fr pour alimenter wiki data
Utilisation de data.bnf.fr pour alimenter wiki dataUtilisation de data.bnf.fr pour alimenter wiki data
Utilisation de data.bnf.fr pour alimenter wiki data
 
Libre théâtre, plateforme facilitant l'accès gratuit aux textes de théâtre fr...
Libre théâtre, plateforme facilitant l'accès gratuit aux textes de théâtre fr...Libre théâtre, plateforme facilitant l'accès gratuit aux textes de théâtre fr...
Libre théâtre, plateforme facilitant l'accès gratuit aux textes de théâtre fr...
 
Feuille de route 3.0 du ministère de la culture
 Feuille de route 3.0 du ministère de la culture Feuille de route 3.0 du ministère de la culture
Feuille de route 3.0 du ministère de la culture
 
Retour mooc web sémantique
Retour mooc web sémantiqueRetour mooc web sémantique
Retour mooc web sémantique
 
Spécialisation du moteur sémantique Cognit’Ive dans différents contextes util...
Spécialisation du moteur sémantique Cognit’Ive dans différents contextes util...Spécialisation du moteur sémantique Cognit’Ive dans différents contextes util...
Spécialisation du moteur sémantique Cognit’Ive dans différents contextes util...
 
Web Sémantique et Linked Open Data : des usages aux données, comment tirer p...
Web Sémantique et Linked Open Data  : des usages aux données, comment tirer p...Web Sémantique et Linked Open Data  : des usages aux données, comment tirer p...
Web Sémantique et Linked Open Data : des usages aux données, comment tirer p...
 
The Read-Write Secure Linked Data Web
The Read-Write Secure Linked Data WebThe Read-Write Secure Linked Data Web
The Read-Write Secure Linked Data Web
 
Présentation du portail sémantique de la FEVIS
Présentation du portail sémantique de la FEVISPrésentation du portail sémantique de la FEVIS
Présentation du portail sémantique de la FEVIS
 
Du web sémantique à tous les étages
Du web sémantique à tous les étagesDu web sémantique à tous les étages
Du web sémantique à tous les étages
 
Présentation de Bano
Présentation de BanoPrésentation de Bano
Présentation de Bano
 
Naturopédia : Publication multi-supports et animation communautaire augmenté...
Naturopédia  : Publication multi-supports et animation communautaire augmenté...Naturopédia  : Publication multi-supports et animation communautaire augmenté...
Naturopédia : Publication multi-supports et animation communautaire augmenté...
 
Réaliser une application Web sémantique grâce à l’outil VIVO - Cas pratique ...
Réaliser une application Web sémantique grâce à l’outil VIVO  - Cas pratique ...Réaliser une application Web sémantique grâce à l’outil VIVO  - Cas pratique ...
Réaliser une application Web sémantique grâce à l’outil VIVO - Cas pratique ...
 
Datalift, une plateforme Linked Data, Retour d'expériences
Datalift, une plateforme Linked Data, Retour d'expériencesDatalift, une plateforme Linked Data, Retour d'expériences
Datalift, une plateforme Linked Data, Retour d'expériences
 

Interroger efficacement des bases de données relationnelles avec sparql et ontop

  • 1. Interroger efficacement des bases de donn´ees relationnelles avec SPARQL et Ontop Benjamin Cogrel KRDB Research Centre for Knowledge and Data Universit´e Libre de Bozen-Bolzano, Italie Free University of Bozen-Bolzano SemWeb.Pro 2015, Paris
  • 2. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion ´Etapes 1 Pourquoi utiliser SPARQL 2 Comment reformuler une requˆete SPARQL vers SQL Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (1/14)
  • 3. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion Analyse de donn´ees pour l’exploration p´etroli`ere Construction de mod`eles stratigraphiques Strat´egique Env. 900 g´eologues et g´eophysiciens Source principale : Exploitation and Production Data Store (EPDS) Donn´ees d’exploration et de production Env. 1500 tables Env. 1600 vues mat´erialis´ees Centaines de gigaoctets Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (2/14)
  • 4. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion Utilisation simple : requˆetes pr´ed´efinies G´eologue Application Requˆetes SQL pr´ed´efinies R´esultats Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (3/14)
  • 5. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion Nouvelle requˆete : besoins utilisateurs (simplifi´es) Tous les puits norv´egiens de tel type `a proximit´e de tel lieu ayant une perm´eabilit´e proche de telle valeur. Attributs : date de mise en service, pro- fondeur, etc. Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (4/14)
  • 6. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion D´efinition d’une nouvelle requˆete SQL G´eologue Application Expert SI Traduction Besoin d’information Requˆete SQL R´esultats Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (5/14)
  • 7. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion D´efinition d’une nouvelle requˆete SQL G´eologue Application Expert SI Traduction Besoin d’information Requˆete SQL R´esultats Prend 4 jours en moyenne ! Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (5/14)
  • 8. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion Requˆete SQL typique (extrait anonymis´e) SELECT [...] FROM db_name.table1 table1, db_name.table2 table2a, db_name.table2 table2b, db_name.table3 table3a, db_name.table3 table3b, db_name.table3 table3c, db_name.table3 table3d, db_name.table4 table4a, db_name.table4 table4b, db_name.table4 table4c, db_name.table4 table4d, db_name.table4 table4e, db_name.table4 table4f, db_name.table5 table5a, db_name.table5 table5b, db_name.table6 table6a, db_name.table6 table6b, db_name.table7 table7a, db_name.table7 table7b, db_name.table8 table8, db_name.table9 table9, db_name.table10 table10a, db_name.table10 table10b, db_name.table10 table10c, db_name.table11 table11, db_name.table12 table12, db_name.table13 table13, db_name.table14 table14, db_name.table15 table15, db_name.table16 table16 WHERE [...] table2a.attr1=‘keyword’ AND table3a.attr2=table10c.attr1 AND table3a.attr6=table6a.attr3 AND table3a.attr9=‘keyword’ AND table4a.attr10 IN (‘keyword’) AND table4a.attr1 IN (‘keyword’) AND table5a.kinds=table4a.attr13 AND table5b.kinds=table4c.attr74 AND table5b.name=‘keyword’ AND (table6a.attr19=table10c.attr17 OR (table6a.attr2 IS NULL AND table10c.attr4 IS NULL)) AND table6a.attr14=table5b.attr14 AND table6a.attr2=‘keyword’ AND (table6b.attr14=table10c.attr8 OR (table6b.attr4 IS NULL AND table10c.attr7 IS NULL)) AND table6b.attr19=table5a.attr55 AND table6b.attr2=‘keyword’ AND table7a.attr19=table2b.attr19 AND table7a.attr17=table15.attr19 AND table4b.attr11=‘keyword’ AND table8.attr19=table7a.attr80 AND table8.attr19=table13.attr20 AND table8.attr4=‘keyword’ AND table9.attr10=table16.attr11 AND table3b.attr19=table10c.attr18 AND table3b.attr22=table12.attr63 AND table3b.attr66=‘keyword’ AND table10a.attr54=table7a.attr8 AND table10a.attr70=table10c.attr10 AND table10a.attr16=table4d.attr11 AND table4c.attr99=‘keyword’ AND table4c.attr1=‘keyword’ AND table11.attr10=table5a.attr10 AND table11.attr40=‘keyword’ AND table11.attr50=‘keyword’ AND table2b.attr1=table1.attr8 AND table2b.attr9 IN (‘keyword’) AND table2b.attr2 LIKE ‘keyword’% AND table12.attr9 IN (‘keyword’) AND table7b.attr1=table2a.attr10 AND table3c.attr13=table10c.attr1 AND table3c.attr10=table6b.attr20 AND table3c.attr13=‘keyword’ AND table10b.attr16=table10a.attr7 AND table10b.attr11=table7b.attr8 AND table10b.attr13=table4b.attr89 AND table13.attr1=table2b.attr10 AND table13.attr20=’‘keyword’’ AND table13.attr15=‘keyword’ AND table3d.attr49=table12.attr18 AND table3d.attr18=table10c.attr11 AND table3d.attr14=‘keyword’ AND table4d.attr17 IN (‘keyword’) AND table4d.attr19 IN (‘keyword’) AND table16.attr28=table11.attr56 AND table16.attr16=table10b.attr78 AND table16.attr5=table14.attr56 AND table4e.attr34 IN (‘keyword’) AND table4e.attr48 IN (‘keyword’) AND table4f.attr89=table5b.attr7 AND table4f.attr45 IN (‘keyword’) AND table4f.attr1=‘keyword’ AND table10c.attr2=table4e.attr19 AND (table10c.attr78=table12.attr56 OR (table10c.attr55 IS NULL AND table12.attr17 IS NULL)) Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (6/14)
  • 9. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion Automatisation avec la plateforme Optique Ontology-Based Data Access (OBDA) G´eologue Application Ontop 1. Requˆete SPARQL (haut-niveau) 4. R´esultats SPARQL 2. Requˆete SQL (bas-niveau) 3. R´esultats SQL Onto- logie Map- pings Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (7/14)
  • 10. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion Requˆete SPARQL de haut-niveau Niveau conceptuel Ind´ependant du stockage Terminologie du domaine formalis´ee (ontologie) Requˆetes concises SELECT DISTINCT ?wellbore ?wc ?well ?length WHERE { ?wellbore npdv:wellboreForDiscovery ?discovery; npdv:belongsToWell ?well. ?wc npdv:coreForWellbore ?wellbore; npdv:coresTotalLength ?length. FILTER (?length < 56796) } Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (8/14)
  • 11. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion SPARQL et les bases de donn´ees relationnelles Transformation d’une BD relationnelle en un graphe RDF Pour ˆetre requˆet´ee avec SPARQL Mappings SQL-RDF (R2RML) Contraintes de l’ontologie (opt.) Virtuelle ou mat´erielle RDFR2RML Graphe RDF mat´erialis´e Mat´erialisation du graphe RDF satur´e − Maintenance + Profils d’ontologie expressifs (comme OWL 2 RL) Graphe RDF virtuel Reformulation de requˆete + Aucune mat´erialisation − Profil d’ontologie moins expressif (OWL 2 QL) * Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (9/14)
  • 12. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion SPARQL et les bases de donn´ees relationnelles Transformation d’une BD relationnelle en un graphe RDF Pour ˆetre requˆet´ee avec SPARQL Mappings SQL-RDF (R2RML) Contraintes de l’ontologie (opt.) Virtuelle ou mat´erielle RDFR2RML Graphe saturé Graphe RDF mat´erialis´e Mat´erialisation du graphe RDF satur´e − Maintenance + Profils d’ontologie expressifs (comme OWL 2 RL) Graphe RDF virtuel Reformulation de requˆete + Aucune mat´erialisation − Profil d’ontologie moins expressif (OWL 2 QL) * (*) Inclut toutefois un m´ecanisme d’inf´erence absent du profil OWL 2 RL Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (9/14)
  • 13. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion SPARQL et les bases de donn´ees relationnelles Transformation d’une BD relationnelle en un graphe RDF Pour ˆetre requˆet´ee avec SPARQL Mappings SQL-RDF (R2RML) Contraintes de l’ontologie (opt.) Virtuelle ou mat´erielle RDFR2RML Graphe saturé Graphe RDF mat´erialis´e Mat´erialisation du graphe RDF satur´e − Maintenance + Profils d’ontologie expressifs (comme OWL 2 RL) Graphe RDF virtuel Reformulation de requˆete + Aucune mat´erialisation − Profil d’ontologie moins expressif (OWL 2 QL) * (*) Inclut toutefois un m´ecanisme d’inf´erence absent du profil OWL 2 RL Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (9/14)
  • 14. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion Mapping SQL-RDF Format natif d’Ontop Source (SQL) SELECT wellbore_s, year, month, day FROM wellbore WHERE wellbore.r_existence_kd_nm = ’actual’ Cible (RDF, Turtle-like) :Wellbore-{wellbore_s} :completionDate "{year}-{month}-{day}"^^xsd:date Format ´equivalent au standard R2RML (support´e, utilis´e dans Optique) Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (10/14)
  • 15. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion Reformulation de requˆete R´e´ecriture (optionnelle) Reformulation `a partir des mappings Optimisation SPARQL SPARQL SQL SQL Rˆole de l’ontologie OWL 2 QL Marginal : r´e´ecriture de la requˆete SPARQL (cas tr`es particuliers) Principal : saturation des mappings (hors-ligne) Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (11/14)
  • 16. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion Reformulation de requˆete R´e´ecriture (optionnelle) Reformulation `a partir des mappings satur´es Optimisation SPARQL SPARQL SQL SQL Rˆole de l’ontologie OWL 2 QL Marginal : r´e´ecriture de la requˆete SPARQL (cas tr`es particuliers) Principal : saturation des mappings (hors-ligne) Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (11/14)
  • 17. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion Optimisation de la requˆete SQL Objectif : obtenir une requˆete SQL. . . Proche de celles ´ecrites par des humains Adapt´ee aux planificateurs existants Optimisations structurelles Jointures d’unions vers unions de jointures D´ecomposition des IRIs pour faciliter les jointures Optimisations s´emantiques ´Elimination des unions et des jointures redondantes `A partir de contraintes fonctionnelles Contraintes fonctionnelles Cl´es primaires, uniques ou ´etrang`eres Implicites dans les processus m´etiers (Statoil) Vitales pour la reformulation de requˆete ! Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (12/14)
  • 18. Pourquoi utiliser SPARQL? Traitement de requˆetes SPARQL Conclusion Conclusion Ontop Logiciel libre (Apache 2) Interfaces Sesame et OWLAPI Extension Prot´eg´e Int´egration Plateforme Optique (FluidOps) Stardog 4.0 (graphes virtuels) Quelques exp´erimentations Agr´egation SPARQL owl:sameAs via les mappings Support partiel de SWRL NoSQL Liens Github : ontop/ontop ontop4obda@googlegroups.com Twitter : @ontop4obda http://optique-project.eu Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (13/14)
  • 19. Annexe Profil d’ontologie OWL 2 QL Principales fonctionnalit´es Hi´erarchies de classes (rdfs:subclassOf) et de propri´et´es (rdfs:subPropertyOf) Signature de propri´et´es (rdfs:domain, rdfs:range) Propri´et´es inverses (owl:inverseOf) Disjonction de classes (owl:disjointWith) Participation obligatoire (avanc´e) Manques Identit´e d’individus (owl:sameAs) Contraintes de cardinalit´e (propri´et´e fonctionnelle, etc.) Et bien d’autres En r´esum´e Ontologies l´eg`eres Un peu plus que RDFS Traductibilit´e garantie vers SQL Benjamin Cogrel (Universit´e Libre de Bolzano) Interroger des BDR avec SPARQL et Ontop 05/11/2015 (14/14)