« SPARQL Protocol and RDF Query Language/Requêtes d'écriture » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 15 :
 
Nous allons décrire ici les requêtes qui fonctionnent dans le logiciel 4Store (utilisé dans les TP de cette leçon) et qui sont aussi définies dans la recommandation SPARQL 1.1 (la personne qui coordonne la recommandation de SPARQL 1.1 et aussi le principal développeur de 4Store).
 
== Un silo de données ==
 
Un silo de données ou base de données RDF (etc.) est un conteneur de graphes RDF géré par un seul service. Un silo contient un graphe (sans nom) par défaut et zéro ou plusieurs emplacements nommés tenant pour contenir des graphes nommés. Un silo a un service SPARQL (endpoint SPARQL en anglais) qui traite les requêtes. Grâce à SPARQL 1.1, on peut maintenant spécifier dans une requête le graphe auquel doit s'appliquer cette requête. Si une requête ne contient pas de graphe identifié, la requête s'applique au graphe par défaut.
 
{{Remarque|contenu=
Un graphe par défaut est implémenté de manière différente dans chaque logiciel. Il existe encore des subtilités. Il vaut mieux toujours travailler dans des graphes nommés, cela vous évitera de très mauvaise surprise.
}}
 
Vous pouvez ajouter ou supprimer un graphe.
 
{{Remarque|contenu=
SPARQL 1.1 n'est pas encore intégralement implémenté. Les développeurs commencent par les fonctions les plus simples et n'ont souvent pas encore développé les requêtes d'administration de graphes. Ainsi pour supprimer un graphe, il suffit juste de supprimer tous les triplets d'un graphe pour supprimer ce graphe ou il suffit d'insérer au moins un triplet dans un graphe pour créer ce nouveau graphe.
}}
 
Les fonctions qui fonctionnent pour le moment sont les principales :
* L'insertion de triplets
* La suppression de triplets
 
Il existe d'autres fonctions mais différentes d'un logiciel à un autre. Nous étudierons ici que les requêtes "INSERT DATA" et "DELETE DATA". Dans les TP, vous pourrez voir d'autres fonctions et apprendre à les utiliser à travers leurs API PHP disponibles.
 
== INSERT DATA ==
 
=== Syntaxe ===
Une requête d'insertion est en 3 parties:
*les préfixes
*l'adresse du graphe de destination
*les triplets à enregistrer
<pre>
#Les préfixes
PREFIX dc: <...>
...
 
#Clause INSERT DATA
INSERT DATA
{
#IRI du graphe qui contiendra les triplets
GRAPH <...> {
 
#les triplets
...
 
}
}
 
</pre>
 
=== Exemple ===
Ligne 31 ⟶ 72 :
 
=== Syntaxe ===
Une requête de suppression est en 3 parties:
*les préfixes
*l'adresse du graphe où se trouve les triplets à supprimer
*les triplets à supprimer ou le masque des triplets à supprimer
<pre>
#Les préfixes
PREFIX dc: <...>
...
 
#Clause INSERT DATA
DELETE DATA
{
#IRI du graphe qui contient les triplets
GRAPH <...> {
 
#les triplets ou le masque de triplet
...
 
}
}
 
</pre>
 
=== Exemple ===