查询带有相关标识符的Wikidata REST API



我正在尝试对一组已知的VIAF id进行对齐。我想用VIAF ID (P214)查询Wikidata REST API,并返回一组与该VIAF实体对应的一个或多个Wikidata实体ID (QXXXXX)。我无法在维基数据API文档或其他在线文档中找到任何此类示例。

我已经使用action=wbsearchentitiesaction=query进行了各种查询排列,但都无济于事。

谁能好心地告诉我一组文档或示例代码,枚举正确的查询参数,这样的搜索?

假设您要查找VIAF ID为";113230702"(即道格拉斯·亚当斯)。

解决方案1

使用action=query:

https://www.wikidata.org/w/api.php?action=query&format=json&list=search&srsearch=haswbstatement:P214=113230702

URL的回应:

{"batchcomplete":"","query":{"searchinfo":{"totalhits":1},"search":[{"ns":0,"title":"Q42","pageid":138,"size":319024,"wordcount":1204,"snippet":"Douglas AdamsnDouglas Adamsnu0414u0443u0433u043bu0430u0441 u0410u0434u0430u043cu0441nDouglas AdamsnDouglas AdamsnDouglas AdamsnDouglas AdamsnDouglas AdamsnDouglas AdamsnDouglas AdamsnDouglas Adams","timestamp":"2021-08-13T22:04:39Z"}]}}

解决方案2

使用维基数据查询服务:

https://query.wikidata.org/bigdata/namespace/wdq/sparql?format=json&query=SELECT%20DISTINCT%20%3Fx%0AWHERE%20{%0A%20%20%3Fx%20wdt%3AP214%20%22113230702%22%0A}

最后一个URL来自以下SPARQL查询:

SELECT DISTINCT ?x
WHERE {
?x wdt:P214 "113230702"
}

URL的回应:

{
"head" : {
"vars" : [ "x" ]
},
"results" : {
"bindings" : [ {
"x" : {
"type" : "uri",
"value" : "http://www.wikidata.org/entity/Q42"
}
} ]
}
}

相关内容

  • 没有找到相关文章

最新更新