Encontrar la ruta más corta con la consulta SPARQL
Estoy tratando de entender las limitaciones computacionales de la consulta SPARQL, y me gustaría saber cómo escribir una consulta que determine si hay una ruta dirigida entre dos objetos.
Conozco una manera de hacerlo por un camino de una longitud específica:
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
¿Hay una manera de buscar cualquier ruta de longitud en una sola consulta? ¿Es esto imposible con SPARQL?