我正尝试在Wikidata中查询作为business
或nonprofit organization
实例的所有项目。
以下适用于一个:
SELECT DISTINCT ?organization WHERE {
?organization wdt:P31 wd:Q4830453
}
但这并不能全部检索。只是所有业务。
我也尝试了以下方法,但是似乎都没有用。
SELECT DISTINCT ?organization WHERE {
?organization wdt:P31 wd:Q4830453 || wd:Q163740
}
SELECT DISTINCT ?organization WHERE {
?organization wdt:P31 wd:Q4830453, wd:Q163740
}
当然,我可以只发出两个单独的请求,然后在事后将它们组合在一起,但这似乎没有效率,而且似乎应该有更好的方法来处理此问题。
答案 0 :(得分:2)
这是一个可行的解决方案:
SELECT *
WHERE {
VALUES ?o { wd:Q4830453 wd:Q163740 }
?s wdt:P31 ?o.
}
请注意,以下查询也可能是解决方案。但是,FILTER
解决方案永远不可能是实现其他目标的有效方法。
SELECT *
WHERE {
?s wdt:P31 ?o.
FILTER (?o IN (wd:Q4830453, wd:Q163740 ) )
}