Re: Typos in SPARQL 1.1 Query

> 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 ?

Olivier

Received on Wednesday, 7 December 2011 14:44:44 UTC