SPARQL Protocol and RDF Query Language/Travail pratique/Requêtes de découverte
Introduction
[modifier | modifier le wikicode]Dans ce TP, nous allons illustrer la gestion et la découverte d'une base de données SPARQL quelconque.
Gestion d'une base de données SPARQL en ligne
[modifier | modifier le wikicode]Toutes les informations de maintenance d'une base de données SPARQL doivent être accessibles via SPARQL, comme :
- Le nombre de triplets
- Le poids des données (espace disque)
- Les statistiques de consultation
Les requêtes pour atteindre ces informations sont en cours de recommandation par le W3C.
Dès lors que la base de données est limitée en lecture ou en écriture, on va rajouter de nouvelles options :
- gestion des droits des utilisateurs
- confidentialité
- historique de consultation
- paiement à la consultation des données payantes via des micro-paiements
- prix par type de données (objet, date & propriété)
- etc.
Un utilisateur pourra ainsi gérer ses données personnelles et en contrôlera les entrées et les sorties.
Exercice : Avec l'API PHP de 4Store que nous avons utilisé dans le TP précédent, créer une page Web qui affichera :
Point d'accès SPARQL : http://...
Nom du graphe : http://...
État du serveur : OK ou KO
Nb de triples : 25 triplets
En utilisant le fichier functions.php que nous avons conçu dans les précédents TP :
<html>
<head>
<title>État de mon graphe</title>
</head>
<body>
<h2>Détails sur mon graphe:</h2>
<?php
include('functions.php');
//On se connecte
$MyEndPoint = connectMaBase();
//on récupère la variable globale du graphe où insérer les triplets
global $MyGraph,$MyEndPointSparql;
?>
<h3>Point d'accès SPARQL : <?php echo $MyEndPointSparql; ?></h3>
<h3>Nom du graphe : <?php echo $MyGraph; ?></h3>
<h3>État du serveur : <?php
$connected = $MyEndPoint->check();
if ($connected)
echo "OK";
else
echo "KO !!!";
?></h3>
<h3>Nb de triples : <?php
echo $MyEndPoint->count($MyGraph) . " triplets";
?></h3>
</body>
</html>
Découverte de la version de SPARQL d'une base de données
[modifier | modifier le wikicode]SPARQL est une recommandation qui va évoluer dans le temps. La version 1.1 prépare une recommandation pour connaitre la version de SPARQL à utiliser avec une base de données. Cette future recommandation se nomme SPARQL 1.1 Service Description.
Par exemple, les bases de données de data.gov.uk peuvent répondre à une requête SPARQL comme celle-ci :
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dc: <http://purl.org/dc/terms/>
PREFIX void: <http://rdfs.org/ns/void#>
PREFIX sd: <http://www.w3.org/ns/sparql-service-description#>
SELECT ?endpoint ?title ?description ?supportedLanguage WHERE {
?s rdf:type sd:SERVICE ;
sd:url ?endpoint;
sd:supportedLanguage ?supportedLanguage .
OPTIONAL {
?d rdf:type void:Dataset ;
dc:description ?description ;
dc:title ?title ;
void:sparqlEndpoint ?endpoint . }
}ORDER BY ?endpoint
Voir ici le résultat de cette requête.
Découverte du contenu
[modifier | modifier le wikicode]Après avoir lu, le cours sur les requêtes de découverte, chercher un silo dans un domaine qui vous intéresse et écrire un exemple de requête SPARQL.
Si vous êtes satisfait de votre requête en français, vous pouvez la partager sur http://fr.sparql.pro. Si c’est une requête en anglais, vous pouvez la partager sur http://en.sparql.pro.
Découverte d'une nouvelle base de données SPARQL en ligne
[modifier | modifier le wikicode](A faire) En attente des prochaines recommandation du W3C.
Références
[modifier | modifier le wikicode]Documentation de l'API :