Подвойства в SPARQL-запросе - PullRequest
0 голосов
/ 27 июня 2018

У меня есть этот запрос викиданных , который пытается найти все компании, прямо или косвенно принадлежащие компании Уолта Диснея.

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.
}

Я пытаюсь выяснить, является ли компания владельцем Disney (P: 127) или где Disney является головной организацией (P: 749).

Свойство P: 749 является дочерним свойством P: 127. Могут быть и другие субпредложения «принадлежат», о которых я не знаю.

Могу ли я сделать запрос, который возвращает все компании, у которых есть отношение, которое имеет какое-либо свойство «принадлежащий» в отношении Disney? Мне также нужно вернуть дочерние компании прямых дочерних компаний, дочерние компании этих дочерних компаний и т. Д.

1 Ответ

0 голосов
/ 27 июня 2018

Вы можете сделать это с помощью рекурсивного пути свойства:

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