5

(When) will the following be possible?

  • get the list of all links on a Wikipedia page with their respective Wikidata IDs in a single query/API call.

  • receive additional information of the respective Wikidata items like a property value with the query.

4

1 回答 1

4

要获取所有 Wikipedia 页面链接,您必须使用Wikipedia API,并且要获取所有 Wikidata 项目属性,您需要Wikidata API,因此不可能创建一个对两个 API 的两个请求的查询。但!您问题的第一部分已经是可能的。关于第二个......你没有说任何你需要来自维基数据的信息。

您可以获得所有维基百科页面链接的 Wikidata ID 和许多其他信息,如坐标、参考、内部和外部链接、图像、文本内容、贡献者、历史、页面权限、类别、模板等...为此,我们只能使用 Wikipedia API,因为我们的入口点是 Wikipedia 页面,以及API 的生成器功能。

例如,这是如何获取Dolphin Wikipedia 页面上前 20 个跨维基链接的 Wikidata ID、简短介绍文本和主图像:

https://en.wikipedia.org/w/api.php?action=query&generator=links&format=xml&redirects=1&titles=Dolphin&prop=pageprops|extracts|pageimages&gpllimit=20&ppprop=wikibase_item&exintro=1&exlimit=20&piprop=name&pilimit=20

主要查询参数:

  • action=query&format=xml&redirects=1&titles=Dolphin
  • generator=links- 获取所有页面链接(与 一起使用gpllimit=20
  • prop=pageprops|extracts|pageimages- 从链接中得到什么

特性:

  • pageprops - 获取 Wikidata ID(与 一起使用ppprop=wikibase_item
  • extracts - 从该页面获取第一行文本(与exintro=1and一起使用exlimit=20
  • pageimages - 获取主图像(与piprop=nameand一起使用pilimit=20

以同样的方式,您可以获得参数中列出的其他prop信息。

于 2016-05-08T10:28:19.410 回答