Mediawiki Wikidata API:检查Wikivoyage文章是否与Wikidata链接
我想以编程方式检查一篇英文Wikivoyage文章(例如)是否从链接 例如,英文版Wikivoyage上的Bronzeville文章没有与Wikidata链接(即使该项目已被删除) 注意:有些Wikidata项目有标签,但这并不意味着存在或不存在,因为有些项目没有标签,而有些具有相同标签的项目指的是两个不同的事物(例如一个地方和一个人)Mediawiki Wikidata API:检查Wikivoyage文章是否与Wikidata链接,mediawiki,wikidata-api,Mediawiki,Wikidata Api,我想以编程方式检查一篇英文Wikivoyage文章(例如)是否从链接 例如,英文版Wikivoyage上的Bronzeville文章没有与Wikidata链接(即使该项目已被删除) 注意:有些Wikidata项目有标签,但这并不意味着存在或不存在,因为有些项目没有标签,而有些具有相同标签的项目指的是两个不同的事物(例如一个地方和一个人) 是否有办法通过或其他方式执行此操作?您可以使用wbgetentities方法执行此操作。要做到这一点,要求它提供与enwikivoyage上所需文章相关的实体。
是否有办法通过或其他方式执行此操作?您可以使用
wbgetentities
方法执行此操作。要做到这一点,要求它提供与enwikivoyage上所需文章相关的实体。例如,对于链接存在的实体():
结果如下:
如果链接不存在(Bronzeville):
结果是:
(查询的
props=
部分就在那里,这样你就不会得到关于条目的所有信息,不管它是否存在。)可以通过如下查询找到Wikivoyage文章是否与Wikidata链接:
如果响应包含“wikibase_item”,则表示它已链接。不幸的是,在大多数情况下,这不起作用,因为Wikivoyage和Wikidata名称经常不同(超过50%)。例如,Wikivoyage上的“Al Hudayda”就是Wikidata上的“Al Hudaydah”。Wikivoyage上的“Akiu”是Wikidata上的“Akiu,Miyagi”。等等,
sites=enwikivoyage
参数的意思是:输入的名称来自Wikivoyage。例如(使用Wikivoyage的名称)工作得很好。我不知道!非常感谢:-)