- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Thu, 15 Dec 2011 15:58:36 +0000
- To: Olivier Corby <olivier.corby@inria.fr>
- CC: SPARQL Working Group <public-rdf-dawg@w3.org>
On 07/12/11 14:38, Olivier Corby wrote: >> eval(D(G), OneOrMore(x:term, path, vy:var)) = >> Let X = eval(x, path) >> Let R = the empty multiset >> For n in X >> Let V = {} >> ALP(n, path, R, V) >> End >> result is R >> >> >> I don't think so. V is the set of nodes visited and should carry >> across calls to ALP for each possible next step in set X. >> >> In OneOrMore the form of ALP being called is the main worked function >> and V is an accumulator of visited nodes. >> >> In ALP, ALP(x:term, path) passes in an empty set to the main worker >> function. This is the route taken by ZeroOrMore. OneOrMore calls the >> main worked function directly. >> >> Do you have an example of the difference as you see it? > > My understanding (?) is that for each value of n in the loop, V is empty. > Because, according to the definition of ALP, V is empty when returning > from ALP(n, path, R, V) > So it is clearer (to me) if it is explicit in the call. > It would be even clearer with : > > ALP(n, path, R, {}) > > Am I missing something here ? Don't think so. Change made. Andy > > Olivier > >
Received on Thursday, 15 December 2011 15:59:05 UTC