我看到了一些从维基百科页面获取维基数据条目的解决方案。通常,他们使用这个pageprop查询API:
https://en.wikipedia.org/w/api.php?action=query&prop=pageprops&redirects=1&titles=LONDON
但是在我的小版本的媒体wiki中,当我执行相同的查询时,结果不包含任何wikidata id,即使页面是站点链接到wikidata项。
是否有需要运行的数据/脚本?可能的原因是什么?
其他信息:
我还发现,当我列出道具名称时,wikibase_item
并不在那里。下面是来自维基百科的相同示例,它是有效的。
https://en.wikipedia.org/w/api.php?action=query&list=pagepropnames&ppnlimit=100
发布于 2019-04-24 04:52:32
如果我没理解错的话,您希望在查询中使用webentityusage
来获取wikidata in。因此,对于您的特定示例,对于伦敦,您将使用:
https://en.wikipedia.org/w/api.php?action=query&prop=pageprops|wbentityusage&titles=London
底部的条目包含与伦敦相关的所有数据:在JSON中向下滚动,您将看到:
"wbentityusage": {
...
"Q84": {
...
}
}
Q84还在pageprops下显示为"wikibase_item“。
然后,与伦敦相关的所有数据都在:https://www.wikidata.org/wiki/Q84
(也可以通过wikidata apis访问)
编辑:这是另一个例子。(对于特定于wikidata的条目,有时反向工作会有所帮助...例如,列出引用数据Qnnn的所有页面)
下面的维基百科页面使用了一些维基数据项:https://en.wikipedia.org/wiki/Template:Pageid_to_title
具体来说,它使用地球(Q2)。所以,如果我们使用wikipedia API:https://en.wikipedia.org/w/api.php?action=query&prop=pageprops|wbentityusage&titles=Template:Pageid_to_title
It 将在pageId 49086285的wbentityusage
下显示Q2。不是在pageprops下。Pageprops将只显示wikibase_item。
值得注意的是,即使查询在维基百科和维基数据上是相同的,结果也会根据您在哪个域上运行而有所不同。
同样有用(反向操作):要查看哪些wikipedia页面引用了特定的wikidata项,您可以使用
https://en.wikipedia.org/w/api.php?action=query&list=wblistentityusage&wbeuentities=Q2&wbeuprop=url -->显示所有引用Q2 (地球)的维基百科页面
https://wikidata.org/w/api.php?action=query&list=wblistentityusage&wbeuentities=Q2&wbeuprop=url -->显示引用Q2 (地球)的所有维基数据页面
而且,只是为了好玩,我编辑了维基百科的页面Template:Pageid_to_title以引用Q3 (生活) API,等待一些东西同步,and...after现在以Q3响应,因为它也是与该页面关联的维基数据项之一。
https://stackoverflow.com/questions/55685303
复制