这个列出所有已知Wikidata属性的页面对应的是什么?我想搜索一个属性,例如:'博士导师',然后回到P184。
有一个类似的用于项的函数,但我似乎找不到用于属性的等效函数。
使用action=wbsearchentities
和type=property
就可以了。Wikidata API文档在这里,搜索"=wb"可以获得Wikidata特定的函数
更新:感谢@nerab的回答,我更新了wikidata-properties-dumper使用Quarry SQL结果:这确实干净得多:)
更新2:采石场不是那么灵活,我移动到使用SPARQL查询,并包装在Wikidata CLI命令:wd props
我写了一个小脚本,用wikidata API的action= wbgetenties 查询所有属性。它用
生成一个json文件键:值
property Pid:请求语言中的属性标签
我发布了几种语言的输出,并且可以根据请求为其他语言做输出,直到有一个官方的(更清晰的)答案来满足这个需求
感谢@maxlath项目中的评论,我找到了Quarry。
可以从
获取所有Wikidata属性的列表http://quarry.wmflabs.org/run/45013/output/1/json
这个特定的列表是英文的,但是也可以针对其他语言修改查询。
你可以使用这个SPARQL查询:它返回属性名称,描述和逗号分隔,也称为标签,来自英语语言:
SELECT ?property ?propertyLabel ?propertyDescription (GROUP_CONCAT(DISTINCT(?altLabel); separator = ", ") AS ?altLabel_list) WHERE {
?property a wikibase:Property .
OPTIONAL { ?property skos:altLabel ?altLabel . FILTER (lang(?altLabel) = "en") }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" .}
}
GROUP BY ?property ?propertyLabel ?propertyDescription
LIMIT 5000