Wikidata API:检查Wikivoyage文章是否从Wikidata链接



我想通过编程检查一篇英文Wikivoyage文章(例如Bronzeville)是否从Wikidata数据库链接。

例如,英文版Wikivoyage上的Bronzeville文章并没有从Wikidata链接(即使该项目存在)。

注意:有些Wikidata项目有标签,但这并不意味着存在或不存在,因为有些项目没有标签,而有些具有相同标签的项目指的是两个不同的东西(例如一个地方和一个人)。

有没有办法通过Wikidata API或其他方式做到这一点?

一篇Wikivoyage文章是否从Wikidata链接,可以通过以下查询找到:

https://en.wikivoyage.org/w/api.php?action=query&title=布朗泽维尔&prop=pageprops&format=jsonfm

https://en.wikivoyage.org/w/api.php?action=query&title=巴黎&prop=pageprops&format=jsonfm

如果响应包含"wikibase_item",则表示它已链接。

您可以为此使用wbgetentities方法。要做到这一点,请向它询问与enwikivoyage上所需文章相关的实体。例如,对于存在链接的实体(布拉格):

http://www.wikidata.org/w/api.php?action=wbgetentities&sites=enwikivoyage&title=布拉格&format=xml&props=

你会得到这样的结果:

<entity id="q1085" type="item" />

如果链接不存在(Bronzeville):

http://www.wikidata.org/w/api.php?action=wbgetentities&sites=enwikivoyage&title=布朗泽维尔&format=xml&props=

结果是:

<entity site="enwikivoyage" title="Bronzeville" missing="" />

(查询的props=部分就在那里,这样你就不会得到关于条目的所有信息,只知道它是否存在。)

相关内容

  • 没有找到相关文章

最新更新