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

Property Path Patterns

either (yn in nodes(G) and xn = yn) or {(X, xn), (Y, yn)} in ppeval(X, ppe, Y) } -

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

Property Path Patterns

a node has been visited for the path under consideration, it is not a candidate for another step.

-

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
 
@@ -9989,7 +9987,7 @@

Property Path Patterns

Let G be the active graph.

 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.
  • Rename the function used within the definition of - the ALP function + the ALP function from eval to reachableTerms.
  • Add section about SPARQL expression evaluation errors.
  • Rename section "Filter evaluation" as .
  • @@ -12745,7 +12743,7 @@

    Changes between SPARQL 1.1 Query Language and SPARQL 1.2 Query Language

  • clarification-query-1: Fix explanation of IN and NOT IN in and
  • clarification-query-2: Remove unneeded reference to the semantics above in
  • clarification-query-3: Rephrase equality definition in
  • -
  • errata-query-1: Let V be an empty set instead of empty multiset in Function ALP definition
  • +
  • errata-query-1: Let V be an empty set instead of empty multiset in Function ALP definition
  • errata-query-2: Fix grammar of PropertyListPathNotEmpty in
  • errata-query-4: Fix CONCAT definition for zero and one argument in
  • errata-query-5: Mention illegal nesting of aggregates in