SPARQL - Vev

SPARQL

Un article de Vev.

Jump to: navigation, search
Erreur dans {{ébauche}} : le thème «  Web sémantique » n’est pas défini.
[[Catégorie:Wikipédia:ébauche Modèle:Ébauche/paramètres Web sémantique]]

SPARQL (prononcé sparkle en anglais : « étincelle »<ref> Jim Rapoza



     (2 May 2006)
   
.    SPARQL Will Make the Web Shine 
. eWeek

. Retrieved on 2007-01-17. </ref>) est un langage de requête et un protocole qui permettra de rechercher, d'ajouter, de modifier ou de supprimer des données RDF disponible à travers Internet. Son nom est un acronyme qui signifie SPARQL Protocol and RDF Query Language<ref>Modèle:Cite book</ref>.

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ête alors qu'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 pas seulement aux niveaux des services, comme avec les services Web, mais aussi aux niveaux des données structurées ou non qui sont disponible à travers l'Internet.

Ce standard a été créé par le groupe de travail DAWG (RDF Data Access Working Group) du W3C (Consortium World Wide Web). SPARQL est considéré comme l'une des technologies clés du Web sémantique et le 15 Janvier 2008, la version 1.0 est devenu une recommandation officielle du W3C<ref> W3C Semantic Web Activity News - SPARQL is a Recommendation

. W3.org 
 
 (2008-01-15)
   

. Retrieved on 2009-10-01. </ref>. La version 1.1 permettra d'enregistrer des données et de fusionner des données de sources différentes. Le dernier appel à contribution a eu lieu donc la version 1.1 sera bientôt candidat à la recommandation pour devenir un nouveau standard du Web.

Les implémentations de SPARQL au sein de triplestores se multiplient<ref> SparqlImplementations - ESW Wiki

. Esw.w3.org  
 

 

. Retrieved on 2009-10-01. </ref>. "SPARQL fera une énorme différence», selon Tim Berners-Lee dès mai 2006<ref>

  Reuters
     
   
  . 
 "
  Berners-Lee looks for Web's big leap 
   " , zdnet.co.uk , 22 May 2006
 
  . Retrieved on 2007-01-17
 .  Archived from the original on 2007-09-30.
  </ref>.

Sommaire

Bénéfices

Les données touchent tous les domaines d’activités.

Voici des exemples relatifs à l'utilisation de SPARQL pour des données gouvernementales, culturelles, scientifiques, environnementales, économiques et d’infrastructure.

Gouvernementales

Les Etats diffusent des données qu’il leur est très coûteux de structurer par eux-mêmes ; ils organisent donc des concours pour le faire à leur place. Cependant, seule une poignée d’entreprises ou d’associations sont en mesure de répondre à ces concours, excluant la majorité des citoyens, qui n’ont pas les moyens de travailler bénévolement à la mise à disposition des données qui les concernent.

L’extension Mediawiki LinkedWiki illustre la capacité de fabriquer n’importe quel rendu à partir des données disponibles à travers SPARQL comme les données du projet Data.gov aux États-Unis.

Exemple : Où ont eu lieu les tremblements de terre des 7 derniers jours sur la planète ? On utilise ici Google Maps et les données de Data.gov. [1]

thumb|400px|right|[http://en.sparql.pro/wiki/Find_school_in_england Exemple : Où trouver une école non religieuse pour mon enfant de 15 ans au Royaume-Uni ?] Voici un autre exemple pour trouver sur une carte les écoles les plus proches de son domicile avec les données de Data.gov.uk (version britannique de Data.gov) qui offre justement toutes les données relatives aux écoles sur son territoire.

Culturelles

Les grands médias, les musées et autres centres culturels sont submergés par les nouveaux médias. Ils ne peuvent plus eux-mêmes développer tous les services qu’il faudrait proposer pour satisfaire leurs clients et usagers. Certains ont compris l’intérêt de SPARQL, comme la BBC, qui bascule régulièrement ses données dans des triplestores, dont certains sont publiques.

Exemple : Afficher la liste des épisodes de la série Doctor Who de la BBC. [2]

De la même manière, France Télévisions pourrait rendre toutes ses données accessibles pour laisser la possibilité aux téléspectateurs de créer de nouveaux services culturels.

Par exemple, durant une émission sur les œuvres d’art sur une chaîne de France Télévisions, on pourrait synchroniser l’émission à une application sur sa tablette PC avec les données de la Bibliothèque Nationale de France (BnF), avec les peintures du Louvre et du musée du Quai Branly. DBpedia, un projet exploratoire utilisant Wikipédia, a déjà commencé à mettre des données en ligne de Wikipédia. Malheureusement les données de DBpedia n'est pas synchrone avec les contributions de Wikipédia et les contributeurs ne peuvent intervenir dynamiquement sur la structuration des données mises en ligne.

Exemple : Quelles sont les peintures de musées disponibles dans Wikipédia (à travers DBpedia) ? [3]

Pour terminer, voici un exemple pour démontrer la combinaison infinie avec des œuvres culturelles. Exemple : durant un documentaire de Steven Spielberg, proposer aux spectateurs la liste des VOD de ce réalisateur. [4]

A l’avenir, nous pourrons même afficher la description de chaque poisson durant la rediffusion des documentaires du commandant Cousteau. Les téléspectateurs pourront associer les poissons dans un documentaire aux fiches qu’ils trouveraient au sein des bases de données du Muséum national d’histoire naturelle et de Wikipédia.

Scientifiques

Dans l’un des premiers articles de Tim Berners-Lee sur le sujet, l’objectif final du Web sémantique est d’offrir la capacité à des agents (programme informatique autonome) de trouver les incohérences dans une nouvelle théorie. Un scientifique gagnera ainsi à l’avenir un temps infini à proposer de nombreuses hypothèses qui seront éprouvées par des machines parcourant toutes les connaissances disponibles. Cela deviendra indispensable, car il est humainement impossible de lire tous les documents dans un domaine scientifique.

A l’avenir, il sera donc indispensable de stocker et partager toutes les données scientifiques. Certains projets commencent à le faire, comme les banques de description des génomes, ou l’office des statistiques de l’Union européenne.

Exemple : Statistiques sur les aéroports en Europe, pour étudier leur efficacité. [5]

Environnementales & économiques

On peut déjà par exemple créer une application mobile pour référencer les codes-barres des produits au sein d’un wiki sur le Web afin d’indiquer les ingrédients dans chaque produit. [6]

Grâce à la flexibilité d'un wiki, les contributeurs pourront eux-mêmes créer les propriétés comme l’origine d’un produit, le calcul de l’empreinte carbone, quantité d’emballage, etc. En un mot, les consommateurs vont devenir acteur de leurs consommations.

Imaginez que tous les consommateurs puissent scanner un produit avant son achat pour savoir s’il satisfait à des critères écologiques indiqués par eux-mêmes !

Caractéristiques

SPARQL est adapté à la structure spécifique des graphes RDF, et s'appuie sur les triplets qui les constituent. En cela, il est différent du classique SQL (langage de requête qui est adapté aux bases de données de type relationnelles), mais s'en inspire clairement dans sa syntaxe et ses fonctionnalités. Il a aussi quelques traits de ressemblance mineurs avec Prolog.

SPARQL permet d'exprimer des requêtes interrogatives ou constructives :

  • une requête SELECT, de type interrogative, permet d'extraire du graphe RDF un sous-graphe correspondant à un ensemble de ressources vérifiant les conditions définies dans une clause WHERE ;
  • une requête CONSTRUCT, de type constructive, engendre un nouveau graphe qui complète le graphe interrogé.

Par exemple sur un graphe RDF contenant des informations généalogiques, on pourra par une requête SELECT trouver les parents ou grands-parents d'une personne donnée, et par des requêtes CONSTRUCT ajouter des relations frère-sœur, cousin-cousine, oncle-neveu, qui ne seraient pas explicitement déclarées dans le graphe initial.

Exemple

Exemple de requête SPARQL retournant une liste de photos avec le nom de la personne qu'elles représentent et une description, à partir d'une base de données de type RDF utilisant l'ontologie (vocabulaire) FOAF (une des plus connues et utilisée pour décrire les personnes et les liens entre elles).

  • Extrait du graphe RDF (écriture XML) d'exemple :
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:foaf="http://xmlns.com/foaf/0.1/"
  xmlns:rss="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/">
	<foaf:Person rdf:about="http://example.net/Paul_Dupont">
		<foaf:name>Paul Dupont</foaf:name>
		<foaf:img rdf:resource="Paul_Dupont.jpg"/>
		<foaf:knows rdf:resource="http://example.net/Pierre_Dumoulin"/>
	</foaf:Person>
	<foaf:Person rdf:about="http://example.net/Pierre_Dumoulin">
		<foaf:name>Pierre Dumoulin</foaf:name>
		<foaf:img rdf:resource="Pierre_Dumoulin.jpg"/>
	</foaf:Person>
	<foaf:Image rdf:about="Paul_Dupont.jpg">
		<dc:description>Photo d'identité de Paul Dupont</dc:description>
	</foaf:Image>
	<foaf:Image rdf:about="Pierre_Dumoulin.jpg">
		<dc:description>Photo d'identité de Pierre Dumoulin</dc:description>
	</foaf:Image>
</rdf:RDF>


  • La requête SPARQL :
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT DISTINCT ?nom ?image ?description
WHERE {
	?personne rdf:type foaf:Person.
	?personne foaf:name ?nom.
	?image rdf:type foaf:Image.
	?personne foaf:img ?image.
	?image dc:description ?description
}

On remarque la déclaration des espaces de noms en début, suivis de la requête proprement dite. Le nom des variables est précédé d'un point d'interrogation ?.

La ligne SELECT permet de sélectionner l'ensemble des tuples, ou lignes de variables (nom, image, description) correspondant aux contraintes de la clause WHERE.

La première ligne de la clause WHERE se lit : la variable personne est de type Person au sens de l'ontologie FoaF. La seconde ligne permet de définir la variable nom en tant que propriété name de la variable personne.


  • Le résultat SPARQL :
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
	<head>
		<variable name="nom"/>
		<variable name="image"/>
		<variable name="description"/>
	</head>
	<results ordered="false" distinct="true">
		<result>
			<binding name="nom">
				<literal>Pierre Dumoulin</literal>
			</binding>
			<binding name="image">
				<uri>Pierre_Dumoulin.jpg</uri>
			</binding>
			<binding name="description">
				<literal>Photo d'identité de Pierre Dumoulin</literal>
			</binding>
		</result>
		<result>
			<binding name="nom">
				<literal>Paul Dupont</literal>
			</binding>
			<binding name="image">
				<uri>Paul_Dupont.jpg</uri>
			</binding>
			<binding name="description">
				<literal>Photo d'identité de Paul Dupont</literal>
			</binding>
		</result>
	</results>
</sparql>

Notes et références

<references/>

Sources

Annexes

Modèle:Autres projets

Liens externes

Modèle:Palette Web sémantique

ar:سباركل

de:SPARQL en:SPARQL es:SPARQL hu:Sparql it:SPARQL ja:SPARQL lv:SPARQL pl:SPARQL ru:SPARQL uk:SPARQL vi:SPARQL zh:SPARQL