diff --git a/spec/index.html b/spec/index.html index 3f4f020..adcf053 100644 --- a/spec/index.html +++ b/spec/index.html @@ -9948,7 +9948,7 @@
We define an auxiliary function, ALP, used in the definitions of ZeroOrMorePath and +
We define an auxiliary function, ALP, used in the definitions of ZeroOrMorePath and OneOrMorePath. Note that the algorithm given here serves to specify the feature. An implementor is free to implement evaluation by any method that produces the same results for the query overall. The ZeroOrMorePath and OneOrMorePath forms return matches based on @@ -9960,26 +9960,24 @@
Definition: Function ALP
+Definition: Function ALP
Let ppe be an algebraic property path expression. Let reachableTerms(x:term, ppe) be the set of RDF terms reached by repeated matches of ppe, when starting at RDF term x. - ALP(x:term, ppe) = - Let V = empty set - ALP(x:term, ppe, V) + ALP(x:term, ppe) = + Let V = empty set of terms + ALP_recurse(x:term, ppe, V) return is V - # V is the set of nodes visited - - ALP(x:term, ppe, V:set of RDF terms) = + ALP_recurse(x:term, ppe, V:set of RDF terms) = if ( x in V ) return add x to V X = reachableTerms(x, ppe) For n:term in X - ALP(n, ppe, V) + ALP_recurse(n, ppe, V) End
ppeval(X:term, ZeroOrMorePath(ppe), vy:var) =
- { { (vy, n) } | n in ALP(X, ppe) }
+ { { (vy, n) } | n in ALP(X, ppe) }
ppeval(vx:var, ZeroOrMorePath(ppe), vy:var) =
{ { (vx, t), (vy, n) } |
@@ -10015,7 +10013,7 @@ Property Path Patterns
Let X = reachableTerms(x, ppe)
Let V = the empty multiset
For n in X
- ALP(n, ppe, V)
+ ALP_recurse(n, ppe, V)
End
result is V
@@ -12727,7 +12725,7 @@ Changes between SPARQL 1.1 Query Language and SPARQL 1.2 Query Language
in
from eval to ppeval.