Outils pour utilisateurs

Outils du site


besson_sylvain:documentation_sparql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
besson_sylvain:documentation_sparql [2021/03/31 18:55]
Sylvain Besson
besson_sylvain:documentation_sparql [2021/05/07 13:29]
Sylvain Besson [Vocabulaire]
Ligne 100: Ligne 100:
 Dans ce projet, nous exécutons nos requêtes directement avec le langage [[python:​accueil|python]]. Pour cela, nous utilisons la bibliothèque [[https://​rdflib.dev/​sparqlwrapper/​|SPARQLWrapper]] (il faut l'​installer préalablement avec [[https://​anaconda.org/​conda-forge/​sparqlwrapper|conda]] ou [[https://​pypi.org/​project/​SPARQLWrapper/​|pip]] en ligne de commande sur un terminal). Dans ce projet, nous exécutons nos requêtes directement avec le langage [[python:​accueil|python]]. Pour cela, nous utilisons la bibliothèque [[https://​rdflib.dev/​sparqlwrapper/​|SPARQLWrapper]] (il faut l'​installer préalablement avec [[https://​anaconda.org/​conda-forge/​sparqlwrapper|conda]] ou [[https://​pypi.org/​project/​SPARQLWrapper/​|pip]] en ligne de commande sur un terminal).
  
-Bien qu'il n'est pas possible d'​associer différents jeux de données (provenant de sites différents) sur un même point SPARQL (pour des raisons de sécurité),​ il est possible de les fédérer via un système tiers ([[https://​www.w3.org/​TR/​sparql11-federated-query/​|documentation W3C]]) sur le sujet. Nous avons fait le choix d'​utiliser la version gratuite de GraphDB ([[https://​graphdb.ontotext.com/​documentation/​free/​|documentation]] et [[https://​www.ontotext.com/​products/​graphdb/​graphdb-free/​|lien de téléchargement]]),​ qui a une interface graphique permettant d'​avoir un serveur local permettant notamment de faire des requêtes SPARQL fédérées. Pour les réaliser, il faut indiquer dans la requête les points d'​accès que l'on veut utiliser en se servant de la clause SERVICE (voir le lien sur les requêtes fédérées pour l'​utiliser correctement).+Bien qu'il n'est pas possible d'​associer différents jeux de données (provenant de sites différents) sur un même point SPARQL (pour des raisons de sécurité),​ il est possible de les fédérer via un système tiers ([[https://​www.w3.org/​TR/​sparql11-federated-query/​|documentation W3C]]) sur le sujet. Nous avons fait le choix d'​utiliser la version gratuite de GraphDB ([[https://​graphdb.ontotext.com/​documentation/​free/​|documentation]] et [[https://​www.ontotext.com/​products/​graphdb/​graphdb-free/​|lien de téléchargement]]),​ qui a une interface graphique permettant d'​avoir un serveur local permettant notamment de faire des requêtes SPARQL fédérées. Pour les réaliser, il faut indiquer dans la requête les points d'​accès que l'on veut utiliser en se servant de la clause SERVICE (voir le lien sur les requêtes fédérées pour l'​utiliser correctement).  
 + 
 +GraphDB est aussi très utile pour mettre les individus sur un serveur local, afin de fusionner les données présentes sur plusieurs bases de données ainsi que de ne plus à aller chercher sur les différentes bases de données. Il est possible par la suite d'​aligner les données avec un vocabulaire propre au serveur local.
  
 Il est là encore possible de faire les requêtes directement dans un carnet python. Pour cela, il faut utiliser l'API de GraphDB ([[https://​graphdb.ontotext.com/​documentation/​enterprise/​devhub/​workbench-rest-api/​index.html|documentation]]),​ plus précisément dans le serveur local, cela se situe dans REST API -lui-même dans //help//- puis il faut choisir SPARQL puis //expend operations//​- soit en choissant //GET// pour interroger les données ou bien //POST// pour les modifier. Il suffit ensuite de reporter le chemin -localhost:​7200/​webapi/​repositories/​{repositoryID} par exemple- dans le //wrapper// sur [[python:​accueil|python]]). ​ Il est là encore possible de faire les requêtes directement dans un carnet python. Pour cela, il faut utiliser l'API de GraphDB ([[https://​graphdb.ontotext.com/​documentation/​enterprise/​devhub/​workbench-rest-api/​index.html|documentation]]),​ plus précisément dans le serveur local, cela se situe dans REST API -lui-même dans //help//- puis il faut choisir SPARQL puis //expend operations//​- soit en choissant //GET// pour interroger les données ou bien //POST// pour les modifier. Il suffit ensuite de reporter le chemin -localhost:​7200/​webapi/​repositories/​{repositoryID} par exemple- dans le //wrapper// sur [[python:​accueil|python]]). ​
  
-===outils===+====Outils====
  
 Afin de vérifier si la syntaxe d'une requête est bien faite, il existe des outils : Afin de vérifier si la syntaxe d'une requête est bien faite, il existe des outils :
-  * [[http://​sparql.org/​query-validator.html|query-validator]] +  * [[http://​sparql.org/​query-validator.html|query-validator]]: pour les requêtes avec un SELECT ou un CONSTRUCT 
-  * [[http://​www.sparql.org/​update-validator.html|update-validator]]+  * [[http://​www.sparql.org/​update-validator.html|update-validator]] ​: pour les requêtes pour mettre à jour les données (INSERT, DELETE, etc.)
  
 :!: Ils vérifient uniquement si la requête est bien formulée, mais cela ne permet pas de juger de la pertinence de la requête ou de sa réussite. :!: Ils vérifient uniquement si la requête est bien formulée, mais cela ne permet pas de juger de la pertinence de la requête ou de sa réussite.
besson_sylvain/documentation_sparql.txt · Dernière modification: 2021/08/03 18:11 par Sylvain Besson