Znajdowanie najkrótszej ścieżki z zapytaniem SPARQL
Próbuję zrozumieć ograniczenia obliczeniowe kwerendy SPARQL i chciałbym wiedzieć, jak napisać zapytanie, które określi, czy istnieje ukierunkowana ścieżka między dwoma obiektami.
Znam sposób na zrobienie tego dla ścieżki o określonej długości:
SELECT ?a ?b ?c ?d
WHERE { ?a <http://graphtheory/hasNeighbor> ?b .
?b <http://graphtheory/hasNeighbor> ?c .
?c <http://graphtheory/hasNeighbor> ?d .
FILTER (?a != ?c && ?b != ?d
&& ?a = <http://graphtheory/node/1>
&& ?d = <http://graphtheory/node/2>)
}
LIMIT 10
Czy istnieje sposób wyszukiwania dowolnej ścieżki długości w pojedynczym zapytaniu? Czy jest to niemożliwe w przypadku SPARQL?