如何获取属性实体的Wikidata ID?是否有适用于python的API?

MediaWiki API能够找到具有请求URL的项目的ID: /w/api.php?action=query&format=json&prop=pageprops&titles=skype&formatversion=2&ppprop=wikibase_item

结果是:

{
    "batchcomplete": true,"query": {
        "normalized": [
            {
                "fromencoded": false,"from": "skype","to": "Skype"
            }
        ],"pages": [
            {
                "pageid": 424589,"ns": 0,"title": "Skype","pageprops": {
                    "wikibase_item": "Q40984"
                }
            }
        ]
    }
}

但是,在查询某个属性(例如开发者P178)时,它不能很好地工作。结果是Q409857,而不是所需的P178:

{
    "batchcomplete": true,"from": "developer","to": "Developer"
            }
        ],"pages": [
            {
                "pageid": 179684,"title": "Developer","pageprops": {
                    "wikibase_item": "Q409857"
                }
            }
        ]
    }
}

有什么方法可以获取实体的ID,该实体可以是项目,属性甚至是词位?

illidanwyz 回答:如何获取属性实体的Wikidata ID?是否有适用于python的API?

您可以在Wikidata上使用search API

例如,要查找内部名称为“ developer”的属性,请使用 https://www.wikidata.org/w/api.php?action=query&list=search&srsearch=developer&srnamespace=120

120是属性名称空间。要找到一个词素,请使用srnamespace = 146。

请注意,此API会猜测您的语言并相应地调整结果。如果您不住在英语国家,那么上面的示例可能会失败。

本文链接:https://www.f2er.com/2892345.html

大家都在问