War*_*are 5 java items labels wikidata wikidata-api
您如何请求Item具有的所有属性集?
具体来说,我正在寻找每个项目的英文标签,这是项目属性的价值.
例如" 地球 ":
{
"Challenger Deep",
"Solar System",
"oblate spheroid",
"geoid",
"World Ocean",
"Afro-Eurasia",
...
}
Run Code Online (Sandbox Code Playgroud)
我现在正在使用维基数据工具包库,但我会提出建议.
首先,您需要使用 MediaWiki API 和wbgetclaims操作来获取每一项声明的所有属性。例如,对于维基数据项目地球(Q2),请求将是:
https://www.wikidata.org/w/api.php?action=wbgetclaims&format=xml&props=value&entity=Q2
Run Code Online (Sandbox Code Playgroud)
然后您需要解析响应并从每个响应中获取id。在此示例中,对于属性,项目 id 为。valuepropertyP1589Q459173
最后一步是通过另一个请求获取所有英文项目标签。您有两种变体,在这两种变体中,我们都使用上一步中的所有项目 ID,并用管道分隔|:
第一种变体:通过使用操作wbgetentities:
第二种变体:通过使用操作查询:
更新:我找到了如何仅使用一个请求来获取所有项目属性值的标签。这个想法是找到所有项目链接,然后从中过滤出来自命名空间 0且以 Q 开头的项目链接。
https://www.wikidata.org/w/api.php?action=query&titles=Q2&generator=links&gplnamespace=0&gpllimit=100&prop=pageterms&wbptterms=label
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
995 次 |
| 最近记录: |