Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用dbpedia返回查询的完整wikipedia页面_Python_Sparql_Dbpedia - Fatal编程技术网

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