SPARQL查询中的子属性

时间:2018-06-26 22:17:03

标签: sparql wikidata wikidata-api

我有this wikidata query,该公司试图查找迪士尼迪士尼公司直接或间接拥有的所有公司。

SELECT ?company ?companyLabel WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
  ?company (wdt:P127|wdt:P749)* wd:Q7414.
  ?company wdt:P31/wdt:P279* wd:Q4830453.
}

我正在尝试确定公司是owned by迪斯尼(P:127)还是迪斯尼是parent organization(P:749)。

属性P:749是P:127的子属性。我可能不知道“拥有者”拥有的其他子属性。

我是否可以进行查询,以返回与迪士尼相关的所有子公司都属于“拥有者”的子公司?我还需要退还直接子公司的子公司以及这些子公司的子公司,等等。

1 个答案:

答案 0 :(得分:1)

您可以通过递归属性路径来做到这一点:

?company ?p wd:Q7414.
?p rdfs:subPropertyOf* P:127 .