Python 使用dbpedia返回查询的完整wikipedia页面
我使用以下代码检索给定查询的消歧页面Python 使用dbpedia返回查询的完整wikipedia页面,python,sparql,dbpedia,Python,Sparql,Dbpedia,我使用以下代码检索给定查询的消歧页面 #disambiguation function def disambiguation(name, sparql): query = "SELECT DISTINCT ?syn WHERE { { ?disPage dbpedia-owl:wikiPageDisambiguates <http://dbpedia.org/resource/"+name+"> . ?disPage dbpedia-owl:wikiPageDisambiguat
#disambiguation function
def disambiguation(name, sparql):
query = "SELECT DISTINCT ?syn WHERE { { ?disPage dbpedia-owl:wikiPageDisambiguates <http://dbpedia.org/resource/"+name+"> . ?disPage dbpedia-owl:wikiPageDisambiguates ?syn . } UNION {<http://dbpedia.org/resource/"+name+"> dbpedia-owl:wikiPageDisambiguates ?syn . } }"
sparql.setQuery(query)
sparql.setReturnFormat(JSON)
results_list = sparql.query().convert()
return results_list
问题:
可以为结果列表中的每个元素返回完整的wikipedia页面吗 简化查询 该查询表示,通过dbpedia owl:wikipageDismobilizes路径查找连接到dbpedia:name的所有内容可以消除任何方向的属性歧义 获取维基百科文章URL 如果您确实想使用其他库或其他任何库检索页面,那么您只需要获取Wikipedia文章URL。这是foaf:isPrimaryTopicOf属性的值。例如,如果您查看的属性值,您将看到
http://dbpedia.org/resource/Johnny_Cash foaf:isPrimaryTopicOf http://en.wikipedia.org/wiki/Johnny_Cash
基于此,听起来您希望查询更像:
选择distinct?页面,其中{
?syn dbpedia owl:wikiPageDisambiguates | ^dbpedia owl:wikiPageDisambiguates*dbpedia:name;
foaf:isPrimaryTopicOf?第页
}
那么?页面的每个值都应该是可以下载的维基百科文章URL。是否可以为结果列表中的每个元素返回完整的维基百科页面?返回完整的维基百科页面是什么意思?DBpedia不存储维基百科页面;它存储从中提取的数据。不过,您可以从相应的DBpedia资源中检索信息。您可能会发现这些信息很有用。实际上,我想检索整个wikipedia页面。例如:当我找到一个不同语言的名字时,我想去相应的维基百科页面并检索它相应的页面,你在问题中没有提到任何关于Go的内容;您只要求使用SPARQL和Python。请纠正我。如果我返回相应wikipedia页面的链接,那么我可以在那里检索到正确的文本?在极少数情况下,例如,您需要使用prov:wasDerivedFrom。
http://dbpedia.org/resource/Johnny_Cash foaf:isPrimaryTopicOf http://en.wikipedia.org/wiki/Johnny_Cash