Comment obtenir le fichier RDF de SPARQL EndPoint
Question
Je suis nouveau dans Opendata et avez besoin d'aide.Wikipedia a leur point de terminaison SPARQL dans cette URL: http://dbpedia.org/sparql Maintenant, je dois écrire Webservice pour obtenir un fichier RDF de DBPEDIA.Que dois-je envoyer à ce noeud final pour obtenir un fichier rdf?
La solution
Envoyer un Construire Query.Un petit exemple:
CONSTRUCT { ?s ?p ?o }
WHERE { ?s ?p ?o }
LIMIT 10
La clause où fonctionne comme celle de sélectionner uniquement les valeurs remplissent le bloc de construction comme une sorte de modèle.C'est très flexible - vous pouvez soit copier des déclarations comme ici ou les transformer en une forme complètement différente.
Autres conseils
Qu'est-ce que Danny a répondu est la bonne réponse générique.Mais je ne vous recommanderais pas d'effectuer une telle requête sur des services externes, car le temps devrait obtenir le résultat;Faites-le sur une ressource concrète
Mais bien sûr, si vous souhaitez le faire directement sans le besoin de sauvegarder manuellement les résultats de la requête, avec Python, par exemple, le code ressemblerait à:
from SPARQLWrapper import SPARQLWrapper, XML
uri = "http://dbpedia.org/resource/Asturias"
query = "CONSTRUCT { <%s> ?p ?o } WHERE { <%s> ?p ?o }" % (uri, uri)
sparql = SPARQLWrapper("http://dbpedia.org/sparql")
sparql.setQuery(query)
sparql.setReturnFormat(XML)
results = sparql.query().convert()
file = open("output.rdf", "w")
results.serialize(destination=file, format="xml")
file.flush()
file.close()
Bien sûr, cela pourrait être fait avec presque n'importe quel langage de programmation, comme vous préférez.
J'aimerais vous recommander de lire Bob Ducharme's "Apprendre SPARQL" livre.Il couvre quelques exemples qui utilisent également le point de terminaison DBPEDIA.
PS: Ce n'est pas le point de terminaison Sparql de Wikipedia - c'est le point de terminaison SPARQL DBPEDIA (Wikipedia lui-même ne fournit pas de propre guichet automatique de point de terminaison SPARQL).Cependant, DBPEDIA Data repose sur des données Wikipedia;)