我已经拥有以下代码:
movie = "http://dbpedia.org/resource/Cannes_Man"
Q = "PREFIX dbo: <http://dbpedia.org/property/> PREFIX dbpedia: <http://dbpedia.org/resource/> SELECT ?actor WHERE {?actor dbo:starring <"+movie+">.} "
sparql = SPARQLWrapper("http://dbpedia.org/sparql")
sparql.setReturnFormat(JSON)
sparql.setQuery(Q) # the previous query as a literal string
activity_feed3 = sparql.query().convert()
print activity_feed3
for result5 in activity_feed3["results"]["bindings"]:
print result5
它返回空结果。我是sprawl客户端和dbpedia的新手,我正在尝试了解如何运行简单查询。任何帮助将不胜感激!
答案 0 :(得分:1)
http://dbpedia.org/ontology/starring
。
您还可以使用SPARQL检查传入和传出数据:
SELECT * WHERE {?s ?p_in <URI>}
resp。 SELECT * WHERE {<URI> ?p_out ?o}
dbo:
通常用于http://dbpedia.org/ontology/
而不是http://dbpedia.org/property/
因此,您可能需要的SPARQL查询是
SELECT ?actor WHERE {
<http://dbpedia.org/resource/Cannes_Man> <http://dbpedia.org/ontology/starring> ?actor
}