gpt4 book ai didi

mediawiki - 如何使用mediawiki的page prop API获取与维基数据相关的数据

转载 作者:行者123 更新时间:2023-12-04 17:19:14 24 4
gpt4 key购买 nike

我看到了一些从维基百科页面获取维基数据项的解决方案。通常,他们使用这个 pageprop 查询 API:

https://en.wikipedia.org/w/api.php?action=query&prop=pageprops&redirects=1&titles=LONDON

但是在我的媒体 wiki 的小版本中,当我执行相同的查询时,结果不包含任何 wikidata id,即使页面是站点链接到 wikidata 项目。

我需要运行任何数据/脚本吗?这可能是什么原因?

附加信息:

我还发现,当我列出 Prop 名称时, wikibase_item不在这里。以下是来自维基百科的相同示例,该示例有效。
https://en.wikipedia.org/w/api.php?action=query&list=pagepropnames&ppnlimit=100

最佳答案

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

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访问)

编辑:这是另一个例子。 (对于特定于维基数据的项目,它有时有助于反向工作......即列出所有引用数据 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

wbentityusage下展示Q2为 pageId 49086285。不在 pageprops 下。 Pageprops 只会显示 wikibase_item。

需要注意的是,即使 wikipedia 和 wikidata 上的查询是相同的,结果也会因您在哪个域上运行而有所不同。

也有帮助(反向工作):要查看哪些维基百科页面引用了特定的 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 现在响应 Q3 作为也是 wikidata 项目之一与该页面相关联。

关于mediawiki - 如何使用mediawiki的page prop API获取与维基数据相关的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55685303/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com