Introduction aux Requêtes SPARQL
Cette page web a été traduite automatiquement par DeepL. Bien que nous nous efforcions d’être précis, nous vous informons que les traductions peuvent contenir des erreurs ou des inexactitudes. Pour obtenir les informations les plus précises, veuillez vous référer à la version original.
Qu'est-ce que SPARQL ?
SPARQL (SPARQL Protocol and RDF Query Language, prononcé "sparkle") est un langage de requête utilisé pour récupérer et manipuler des données liées stockées dans un format RDF. Dans ce format, les données sont stockées sous forme de triplets. Les triples sont formés d'un sujet, d'un prédicat et d'un objet. Ensemble, ils forment une affirmation selon laquelle le sujet a une propriété ou une relation particulière, indiquée par le prédicat, avec l'objet.
Composants d'une requête
La meilleure façon de commencer est de rédiger une requête simple.
Exemple: Cette requête renvoie les dix premiers triples de l'ensemble de données:
Select ?subject ?predicate ?object WHERE {
?subject ?predicate ?object .
}
LIMIT 10
Analysons cette question plus en détail.
?:
Tout mot suivant un point d'interrogation est une variable. Dans cette requête, le sujet, le prédicat et l'objet sont des noms de variables. Ces noms de variables peuvent être modifiés pour autant qu'ils proviennent de l'ontologie de la base de données que vous interrogez.
SELECT:
Les variables qui suivent SELECT déterminent ce qui sera affiché dans la table des résultats. Pour cette requête, la table des résultats comportera une colonne pour chaque sujet, prédicat et objet. D'autres mots-clés tels que CONSTRUCT, ASK et DESCRIBE peuvent être utilisés pour afficher d'autres résultats.
WHERE:
La clause WHERE est obligatoire. La clause WHERE contient des triplets qui spécifient les conditions que les triplets de l'ensemble de données doivent remplir pour être inclus dans les résultats. Dans cette requête, nous recherchons dans l'ensemble de données les triplets qui ont le sujet, le prédicat et l'objet.
LIMIT:
Le mot-clé LIMIT est un exemple de modificateur de requête. Ce mot-clé restreint les résultats de manière à ce que seuls les 10 premiers soient affichés. Il existe de nombreux autres mots-clés et commandes permettant de modifier les résultats d'une requête, qui sont étudiés plus en détail dans Modificateurs de requête.
Préfixes et IRUs
Chaque partie d'un triple (sujet, prédicat, objet) est identifiée par un Identifiant de Ressource Uniforme (IRU).
Par exemple, la propriété de genre "femme" dans l'ontologie CWRC est représentée par l'IRU suivant: <http://sparql.cwrc.ca/ontologies/cwrc#woman>
Les URI des requêtes sont souvent raccourcis à l'aide d'un préfixe, ou d'un **espace de noms**défini au début de la requête. Ces préfixes représentent la majeure partie de l'URI, laissant la variable à la fin qui désigne les termes de l'ontologie ou du vocabulaire.
La définition d'un préfixe au début d'une requête utilise le mot-clé PREFIX, l'espace de noms et l'URI de l'ontologie. Par exemple :
PREFIX cwrc: <http://sparql.cwrc.ca/ontologies/cwrc#>
Ainsi, le même terme ci-dessus pourrait être représenté comme: cwrc:woman
Une requête simple
PREFIX cwrc: <http://sparql.cwrc.ca/ontologies/cwrc#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?name WHERE {
?person cwrc:hasGender cwrc:woman .
?person cwrc:hasOccupation cwrc:teacher .
?person skos:altLabel ?name
}
Cette requête searches for all of the triples in the CWRC dataset that satisfy the following requirements: the person is a woman and a teacher. We can break down the pieces of this query.
Les espaces de noms utilisés ici sont cwrc et skos:
PREFIX cwrc: <http://sparql.cwrc.ca/ontologies/cwrc#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
Les résultats s'affichent dans un tableau à une colonne, nom:
SELECT ?name
La clause WHERE recherche une personne qui est une femme et un enseignant:
WHERE {
?person cwrc:hasGender cwrc:woman .
?person cwrc:hasOccupation cwrc:teacher .
?person skos:altLabel ?name
}
En français simple, on pourrait le traduire comme suit:
Il y a une personne qui a le sexe femme
?person cwrc:hasGender cwrc:woman .
Cette même personne exerce la profession d'enseignant
?person cwrc:hasOccupation cwrc:teacher .
Cette personne a un nom représenté par une étiquette alt
?person skos:altLabel ?name
Notes sur le style
Chaque triple dans une requête doit se terminer par un point.
Si un sujet utilisé dans une ligne est répété dans la ligne suivante, il peut être omis à condition qu'il y ait un point-virgule à la fin pour indiquer l'utilisation du même sujet.
PREFIX cwrc: <http://sparql.cwrc.ca/ontologies/cwrc#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?name WHERE {
?person cwrc:hasGender cwrc:woman;
cwrc:hasOccupation cwrc:teacher;
skos:altLabel ?name.
}