【问题标题】:Get description of a Wikidata property?获取 Wikidata 属性的描述?
【发布时间】:2015-03-21 05:24:19
【问题描述】:

我们如何使用 pywikibot 获取 Wikidata 属性(例如:P31)的人类可读的属性描述?

【问题讨论】:

标签: wikidata wikidata-api pywikibot


【解决方案1】:

您可以将action=wbgetentities 用于属性,就像使用普通项目一样。

要获取P31 的所有人类可读描述:

https://www.wikidata.org/w/api.php?action=wbgetentities&ids=P31

并将结果限制为一种语言(英语):

https://www.wikidata.org/w/api.php?action=wbgetentities&ids=P31&languages=en

仅将 pywikibot 用于该任务似乎有点矫枉过正(pywikibot 是一个用于构建进行大规模编辑等的机器人的框架,主要在 Wikipedia 上)。我不确定这是否可能。
还有其他更轻量级的框架,例如wikitools。使用 wikitools,您可以执行以下操作:

from wikitools import Wiki, APIRequest

pid = "P31"
endpoint = "http://commons.wikimedia.org/w/api.php"
username = "XXX"
password = "XXX"

site = Wiki(endpoint, username, password)
params = {'action':'wbgetentities', 'ids': pid}
request = APIRequest(site, params)
result = request.query()
print result["entities"][pid]["descriptions"]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 2018-01-07
    相关资源
    最近更新 更多