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?

questionAnswers(2)

yourAnswerToTheQuestion