Cómo obtener el archivo RDF del punto final SPARQL
Pregunta
Soy nuevo en Opendata y necesito ayuda.Wikipedia tiene su punto final SPARQL en esta URL: http://dbpedia.org/sparql Ahora necesito escribir WebService para obtener un archivo RDF de Dbpedia.¿Qué debo enviar a este punto final para obtener el archivo RDF?
Solución
Envíe una Construcción Consulta.Un poco de ejemplo:
CONSTRUCT { ?s ?p ?o }
WHERE { ?s ?p ?o }
LIMIT 10
La cláusula donde funciona como la de Seleccionar solo los valores llenan el bloque de construcción como un tipo de plantilla.Es muy flexible: puede copiar las declaraciones aquí o transformarlas en una forma completamente diferente.
Otros consejos
Lo que respondió Danny es la respuesta genérica correcta.Pero no le recomendaría que realice dicha consulta sobre los servicios externos, se espera que se espera que obtenga el resultado;Hazlo sobre un recurso de concreto
Pero, por supuesto, si desea hacerlo directamente sin la necesidad de guardar manualmente los resultados de la consulta, con Python, por ejemplo, el código se vería como:
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()
Por supuesto, esto se podría hacer con casi cualquier lenguaje de programación, como lo prefiere.
Me gustaría recomendarle leer Bob Ducharme's "Aprendiendo Sparql" libro.Cubre algunos ejemplos que también utilizan el punto final de Dbpedia.
PS: No es el punto final Sparql de Wikipedia: es Dbpedia Sparql Endpoint (Wikipedia en sí no proporciona un propio ATM de Puntería SPARQL).Sin embargo, los datos de Dbpedia se basan en datos de Wikipedia;)