如何在Wikidata API中按实例搜索实体

如何在Wikidata API中按实例搜索实体,api,mediawiki-api,wikidata,Api,Mediawiki Api,Wikidata,我尝试获取此查询,但未成功: 但只有来自实例“human of”的元素,这意味着来自P31:Q5 任何帮助都将是宝贵的,因为我找不到设置这些道具的方法。 这种查询在SPARQL中会爆炸,但是如果有人有相对的答案来获得相同的结果(搜索所有以…开头的人),那么也会被精确化。我真的不确定Mediawiki API是否可以实现这一点。这是不可能的,而且我认为从那时起该功能就没有实现过 但OpenRefine基于一个API,可以按类型(“实例”)或属性进行过滤。它的开发人员还没有明确地将它作为一个独立的

我尝试获取此查询,但未成功:

但只有来自实例“human of”的元素,这意味着来自
P31:Q5

任何帮助都将是宝贵的,因为我找不到设置这些道具的方法。
这种查询在SPARQL中会爆炸,但是如果有人有相对的答案来获得相同的结果(搜索所有以…开头的人),那么也会被精确化。

我真的不确定Mediawiki API是否可以实现这一点。这是不可能的,而且我认为从那时起该功能就没有实现过

但OpenRefine基于一个API,可以按类型(“实例”)或属性进行过滤。它的开发人员还没有明确地将它作为一个独立的API进行宣传,但这已经在项目中了。下面是一个使用示例:在Wikidata中查找被称为“arturo”的人类实例(Q5),其职业(P106)是演员(Q33999)


这个查询的主要问题是它只返回Arturos,而Arturos是Q5的一个显式实例。例如,这将是“电影制作人”(电影制作人本身是“人类”的一个子类并不重要)的例子,但不是那些“电影制作人”的例子。Sparql可以使用属性路径(例如:wdt:P279*/wdt:P31*)处理类的可传递性,但该API尚未实现它们。

@StanislavKralin hi!谢谢你的回答和评论。注意,这不是同一个问题,我在这里试图避免使用sparql。类似于action=wbsearchentities&search=arturo&format=json&claim=p31:Q5感谢您的回复,但openrefine没有太大帮助。(不管怎样,你的回答很有帮助,谢谢!)我已经试过了。它缺少很多过滤器,数据也不一致,因为wikidata的elasticsearch引擎有很多问题。事实上,正如你提到的,这个问题目前还没有答案,但谢谢你的努力。
https://tools.wmflabs.org/openrefine-wikidata/en/api?query={
                      "query":"arturo",
                      "limit":6,
                      "type" : "Q5",
                      "properties" : [
                         { "pid" : "P106" , "v" : "Q33999"}
                         ]
                         }