我正在使用以下查询来获取指向正确标题资源的链接/URI,但标题不正确:
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT ?redirectsTo WHERE {
?x rdfs:label "Environmental Protection Agency"@en .
?x dbo:wikiPageRedirects ?redirectsTo
}
使用 dbpedia 端点这不是问题,并返回文章的正确链接,美国环境保护署
我正在使用 python SPARQLWrapper 库发送 sparql 查询,但是当我使用 python 执行完全相同的查询时:
sparql = SPARQLWrapper("http://dbpedia.org/sparql")
# First check if this entity redirects to another entity
sparql.setQuery("""
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX db: <http://dbpedia.org/resource/>
SELECT ?redirectsTo WHERE {
?x rdfs:label "%s"@en .
?x dbo:wikiPageRedirects ?redirectsTo
}
""" % entity)
sparql.setReturnFormat(JSON)
uri_result = sparql.query().convert()['results']['bindings']
print(uri_result)
我得到一个没有重定向的空结果列表。但是,此查询在 python 中确实适用于某些事情 - 例如,奥巴马将提供 Barack Obama 的链接
我听说 sparql Web 界面使用不同的数据集?如果是这样,我如何在我的 python 脚本中使用它
谢谢