【问题标题】:How to get the Wikidata-related using page prop API of mediawiki如何使用 mediawiki 的 page prop API 获取 Wikidata 相关
【发布时间】:2019-09-05 04:57:33
【问题描述】:

我看到了一些从 Wikipedia 页面获取 Wikidata 项的解决方案。通常,他们使用这个 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

【问题讨论】:

标签: mediawiki mediawiki-api wikidata


【解决方案1】:

如果我正确理解您的问题,您想在查询中使用 webentityusage 来获取 wikidata id。因此,对于您的特定示例,对于伦敦,您将使用:

https://en.wikipedia.org/w/api.php?action=query&prop=pageprops|wbentityusage&titles=London

底部的条目包含与伦敦相关的所有数据: 在 JSON 中向下滚动,您会看到:

"wbentityusage": {
    ...
    "Q84": {
      ...
    }
}

Q84 也显示为 pageprops 下的“wikibase_item”。

然后,与 london 相关的所有数据位于: https://www.wikidata.org/wiki/Q84

(也可以通过wikidata api访问)


编辑:这是另一个例子。 (对于特定于 wikidata 的项目,它有时可以帮助反向工作......即列出所有引用数据 Q[nnn] 的页面)

以下维基百科页面使用了一些维基数据项:https://en.wikipedia.org/wiki/Template:Pageid_to_title

具体来说,它使用地球(Q2)。所以,如果我们使用维基百科 API: https://en.wikipedia.org/w/api.php?action=query&prop=pageprops|wbentityusage&titles=Template:Pageid_to_title

在 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(地球)的 wikipedia 页面

https://wikidata.org/w/api.php?action=query&list=wblistentityusage&wbeuentities=Q2&wbeuprop=url --> 显示所有引用 Q2(地球)的 wikidata 页面

而且,只是为了好玩,我编辑了那个维基百科页面 Template:Pageid_to_title 以引用 Q3 (Life) 并且......在耐心等待事情同步之后,API 现在响应 Q3 也是其中之一与该页面关联的 wikidata 项。

【讨论】:

  • 是的,我可以按照你的建议去做。但这不是获取相关 wikidata 项目的正确方法。它应该使用 pageprops 查询
  • 对于特定页面“London”,仅引用了 Q84(参见source)。尽管有数据表(气候),但它们不是 wikidata(manual entry :(),尽管如果有的话会很好。 Q84 显示为与页面 17867 相关联。
  • 我一直在努力寻找一个更好的维基百科页面,其中引用了更多的 wikidata 项目(Mount Everest 也许?),以提供一个更容易使用的示例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-05
  • 1970-01-01
  • 1970-01-01
  • 2013-04-04
  • 1970-01-01
  • 2012-08-22
相关资源
最近更新 更多