SPARQL Protocol and RDF Query Language/Présentation de la leçon

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche

SPARQL (prononcer « sparkle », en anglais « étincelle ») est un langage de requêtes et un protocole qui permet de rechercher, d'ajouter, de modifier ou de supprimer des données RDF disponibles à travers Internet. Son nom est un acronyme qui signifie « SPARQL Protocol and RDF Query Language ».

SPARQL est l'équivalent de SQL, car, comme en SQL, on accède aux données d'une base de données via ce langage de requêtes. Avec SPARQL, on accède aux données du Web des données. Cela signifie qu'en théorie, on pourrait accéder à toutes les données du Web avec ce standard. L'ambition du W3C est d’offrir une interopérabilité non seulement au niveau des services, comme avec les services Web, mais aussi au niveau des données, structurées ou non, qui sont disponibles à travers l'Internet.

SPARQL est un langage de requêtes. Il permet de récupérer des informations depuis des serveurs SPARQL (ou endpoint SPARQL), aussi appelés triplestore. Parmi ces triplestores, on peut citer 4Store, Sesame, Jena et bien d'autres.

En général, on utilise SPARQL conjointement à un autre langage de programmation. Un couple PHP/4Store permet de concevoir des pages web dynamiques et de stocker les données dans une base de données 4Store.

Énormément d’applications actuelles utilisent des bases de données avec le langage SQL. SPARQL 1.1 offre le même usage que SQL, mais en respectant les standards du W3C pour transmettre des données à travers le réseau. L'avantage est qu'une application pourra en théorie interroger à l'avenir n’importe quel serveur SPARQL sans se soucier du constructeur de la base de données.

Autre avantage : SPARQL permet de découvrir la structure d'une base de données. Cela servira à l'avenir à des agents (machines) sur le Web qui pourront ainsi découvrir les données disponibles à travers le Web pour répondre à des questions complexes. SPARQL ouvre ainsi les portes au Web des données (Linked Data), qui permettra à l'homme et à la machine de mieux interpréter les informations à travers le Web, sans service intermédiaire comme Google.