Estoy tratando de consultar puntos finales remotos y obtener búho: sameAs mapeos, he probado RDFLib y Redland pero ninguno de los dos funcionó, probablemente no estoy tratando con espacios de nombres correctamenteconsulta SPARQL en el punto remoto remoto RDFLib/Redland
Aquí está mi intento de rdflib:
import rdflib
rdflib.plugin.register('sparql', rdflib.query.Processor, 'rdfextras.sparql.processor', 'Processor')
rdflib.plugin.register('sparql', rdflib.query.Result, 'rdfextras.sparql.query', 'SPARQLQueryResult')
g = rdflib.Graph()
query = """
SELECT *
FROM <http://api.talis.com/stores/bbc-backstage/services/sparql>
WHERE {
?s a http://purl.org/ontology/mo/MusicArtist;
http://www.w3.org/2002/07/owl#sameAs ?o .
}Limit 50
"""
for row in g.query(query):
print row
Y aquí es Redland:
import RDF
model = RDF.Model()
query = """
SELECT *
FROM <http://api.talis.com/stores/bbc-backstage/services/sparql>
WHERE {
?s a http://purl.org/ontology/mo/MusicArtist;
http://www.w3.org/2002/07/owl#sameAs ?o .
}Limit 50
"""
for statement in RDF.Query(query ,query_language="sparql").execute(model):
print statement
Puede por favor dar una pista de lo que está mal en cualquiera de esos? Otra dificultad más que tengo: ¿es posible obtener el nombre del conjunto de datos del objeto? Por ejemplo: si existe:
?s = http://www.bbc.co.uk/music/artists/eb5c8564-927d-414d-b152-c7b48a2c9d8b#artist
predicate = http://www.w3.org/2002/07/owl#sameAs
?0 = http://dbpedia.org/resource/The_Boy_Least_Likely_To
¿Puedo obtener el nombre de "Dbpedia" en este ejemplo? ¿O cualquier otro conjunto de datos al que estoy teniendo el mismo vínculo? (O probablemente podría sólo de consulta de nombres de conjuntos de datos interesadas en la cadena de objetos) muchas gracias mucho por adelantado