Interrogation récursive du Web sémantique - CoDE - Université ...
Interrogation récursive du Web sémantique - CoDE - Université ...
Interrogation récursive du Web sémantique - CoDE - Université ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3.5 Le langage d’interrogation SPARQL 28<br />
primer des contraintes (TP) requises ou optionnelles, ainsi que leurs conjonctions et<br />
disjonctions éventuelles.<br />
SELECT DISTINCT ?author ?phone<br />
WHERE {<br />
}<br />
swc:hasPart ?pub .<br />
?pub swc:hasTopic ?topic .<br />
?topic rdfs:label ?topicLabel .<br />
FILTER regex( str(?topicLabel), "ontology engineering", "i" ) .<br />
?pub swrc:author ?author .<br />
{?author owl:sameAs ?authAlt} UNION {?authAlt owl:sameAs ?author} .<br />
?authAlt foaf:phone ?phone .<br />
Figure 3.4 – Exemple de requête SPARQL [14].<br />
La requête illustrée à la figure 3.4 tra<strong>du</strong>ite en langue française donnerait ceci : Quels<br />
sont le nom et le numéro de téléphone des personnes ayant publié un article concernant<br />
l’ingénierie des ontologies lors de la European Semantic <strong>Web</strong> Conference de 2009 ?. La<br />
conférence est représentée par l’URI<br />
http://data.semanticweb.org/conference/eswc/2009/proceedings><br />
et s’ensuit un ensemble de liens définis entre les variables de la requête. De plus, cer-<br />
tains opérateurs spéciaux sont utilisés, comme l’opérateur FILTER permettant d’appliquer<br />
une contrainte d’expression régulière sur la variable ?topicLabel, ou encore l’opérateur<br />
UNION permettant d’unifier deux ensembles de résultats.<br />
Comme nous le verrons plus loin au chapitre 4, SPARQL peut être utilisé pour<br />
exprimer des requêtes auprès de plusieurs sources de données, que les données soient<br />
physiquement stockées sous forme de graphe RDF ou non [15]. En effet, il est tout à fait<br />
possible d’avoir une base de données qui ne soit pas un Triple Store, mais d’y adjoindre<br />
un convertisseur intermédiaire (wrapper) qui prend en charge la tra<strong>du</strong>ction des données<br />
physiques en un graphe RDF.<br />
3.5.1 SPARQL endpoint, une interface d’interrogation<br />
Lorsqu’une requête SPARQL est formulée, elle doit alors être adressée à une interface<br />
qui prendra en charge l’exécution de la requête, ainsi que le renvoi des résultats de<br />
celle-ci. Cette interface est appelée un point d’accès SPARQL (SPARQL endpoint) et