I am trying to understand the computational limitations of the SPARQL query, and I would like know how to write a query that will determine if there is a directed path betwe
AndyS gave all the elements to answer this question, but there are some typos that might make it hard to apply them. As he says:
SPARQL 1.1 has property path which includes the * operator for any number of.
It does not tell you what the path is nor the length of the shortest path - only whether there is such a path.
The way to do this (based on AndyS, but with two little fixes) is:
PREFIX :
PREFIX node:
ASK { node:1 :hasNeighbor* node:2 }
As far as I can tell, there is no way to do this without using property paths.