我的意思是,我想在本地计算机中使用rdflib来查询WIkidata,但rdflib。Graph((需要首先解析命名空间。因此,如何获取Wikidata NameSpace以使用rdflib本地代码?
我认为目标是:
from rdflib import Graph
g = Graph()
g.parse('wikidata-link')
或
g.load('wikidata-link')
我没有花太多时间,但这里是我的试用,只是为了完成这个问题,也许能找到答案。
以下某些可能的版本导致了某种错误,包括"超时"、"格式不正确(无效令牌("、Typeerrors、"。。不是有效的NCName…'获取"text/html"或"/json返回。我标记了哪些有效,哪些无效。
我尝试过的代码样本
g.parse('https://www.wikidata.org/wiki/Special:EntityData/Q42.n3') # WORKS
g.parse('https://www.wikidata.org/wiki/Special:EntityData/Q42.json') # FAILS
g.parse('https://www.wikidata.org/wiki/Special:EntityData/Q42.ttl') # WORKS
g.parse('https://www.wikidata.org/wiki/Special:EntityData/Q42.rdf') # FAILS
g.parse('https://www.wikidata.org/wiki/Special:EntityData/Q64') # FAILS
g.parse('https://www.wikidata.org/wiki/Q42') # FAILS
g.load('https://www.wikidata.org/wiki/Special:EntityData/Q42.n3') # FAILS
g.load('https://www.wikidata.org/wiki/Special:EntityData/Q42.json') # FAILS
g.load('https://www.wikidata.org/wiki/Special:EntityData/Q42.ttl') # FAILS
g.load('https://www.wikidata.org/wiki/Special:EntityData/Q42.rdf') # FAILS
g.load('https://www.wikidata.org/wiki/Special:EntityData/Q42') # FAILS
g.load('https://www.wikidata.org/wiki/Q42') # FAILS
我在Wikidata Access 上试用了这些
使用的版本
RDFLib 6.1.1Python 3.10.1
最后的想法
您可以通过端点查询wikidata,并从那里构建rdflib图。