如何在维基数据中按实例搜索实体 API
How to search entities by instance in Wikidata API
我试过没有成功得到这个查询:
但仅包含来自实例 "human of" 的元素,这意味着来自 P31 : Q5
任何帮助将不胜感激,因为我找不到设置这些道具的方法。
这种查询在 SPARQL 中呈爆炸式增长,但如果有人有一个相对的答案来获得相同的结果(搜索所有以他的名字开头的人......)也会被预测。
我真的不确定 Mediawiki API 是否可行。这是不可能的 a few years ago,而且我认为该功能从那时起就没有实现。
但 Open Refine 具有基于 API 的 a reconciliation service with Wikidata,可以按类型 ("instance of") 或 属性 进行过滤。它的开发者尚未明确将其作为独立的 API 进行宣传,但这是在项目中。这是一个使用示例:在维基数据中找到称为 "arturo" 人类 (Q5) 并且其职业 (P106) 是演员 (Q33999) 的人。
https://tools.wmflabs.org/openrefine-wikidata/en/api?query={
"query":"arturo",
"limit":6,
"type" : "Q5",
"properties" : [
{ "pid" : "P106" , "v" : "Q33999"}
]
}
这个查询的主要问题是它只会 return Arturos 明确是 Q5 的一个实例。这将是 this one 的情况,但不是那些 "film maker" 的唯一实例(并且电影制作人本身是 class 的子 class 并不重要=26=]). Sparql 可以使用 属性 路径处理 class 传递性(例如:wdt:P279*/wdt:P31*),但是这个 API 还没有(还)实现它们。
我试过没有成功得到这个查询:
但仅包含来自实例 "human of" 的元素,这意味着来自 P31 : Q5
任何帮助将不胜感激,因为我找不到设置这些道具的方法。 这种查询在 SPARQL 中呈爆炸式增长,但如果有人有一个相对的答案来获得相同的结果(搜索所有以他的名字开头的人......)也会被预测。
我真的不确定 Mediawiki API 是否可行。这是不可能的 a few years ago,而且我认为该功能从那时起就没有实现。
但 Open Refine 具有基于 API 的 a reconciliation service with Wikidata,可以按类型 ("instance of") 或 属性 进行过滤。它的开发者尚未明确将其作为独立的 API 进行宣传,但这是在项目中。这是一个使用示例:在维基数据中找到称为 "arturo" 人类 (Q5) 并且其职业 (P106) 是演员 (Q33999) 的人。
https://tools.wmflabs.org/openrefine-wikidata/en/api?query={
"query":"arturo",
"limit":6,
"type" : "Q5",
"properties" : [
{ "pid" : "P106" , "v" : "Q33999"}
]
}
这个查询的主要问题是它只会 return Arturos 明确是 Q5 的一个实例。这将是 this one 的情况,但不是那些 "film maker" 的唯一实例(并且电影制作人本身是 class 的子 class 并不重要=26=]). Sparql 可以使用 属性 路径处理 class 传递性(例如:wdt:P279*/wdt:P31*),但是这个 API 还没有(还)实现它们。