Effectuer des requêtes SPARQLSPARQL

SPARQL (SPARQL Protocol and RDF Query Language) est un langage de requêtes permettant de faire des recherches dans un graphe RDF. Ce langage est un peu le pendant du langage SQL (Structured Query Language) des bases de données relationnelles, mais pour les bases de graphe RDF.

RDFlib inclut un moteur SPARQL, qui peut être utilisé avec Owlready.

1. Recherche avec SPARQL

SPARQL permet de faire des recherches plus complexes que la méthode search() d’Owlready, cependant, pour les recherches simples, il est préférable d’utiliser search() car les performances sont meilleures.

La méthode query() de l’objet graph RDFlib permet d’effectuer une requête SPARQL, et retourne le résultat au format RDFlib (c’est-à-dire sous forme d’URIRef, de BNode et de Literal). La clause WHERE de la requête contient un ou plusieurs triplets RDF, qui peuvent contenir des entités (identifiées par leur IRI), mais aussi des variables, dont le nom est préfixé par « ? ». Dans l’exemple suivant, nous recherchons toutes les entités ?b étant de la classe Bactérie, où ?b est une variable :

>>> graph = default_world.as_rdflib_graph()  
>>> list(graph.query("""  
... SELECT ?b WHERE {  
...     ?b  
...     <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>  
...    ...
Pour consulter la suite, découvrez le livre suivant :
couv_EPPYTONT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Manipuler les triplets RDF avec RDFlib
Suivant
Accéder aux triplets RDF via Owlready