13.07.2013 Views

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é ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!