diff --git a/spec/index.html b/spec/index.html index 22b25e9..ec342ad 100644 --- a/spec/index.html +++ b/spec/index.html @@ -8756,8 +8756,8 @@
Notes:
|x|:var|x|:TPIf |X| is a triple pattern:
++ppeval(X:TP, Link(iri), Y:term) = { }+
+ppeval(X:TP, Link(iri), Y:var) = { }+
+ppeval(X:TP, Link(iri), Y:TP) = { }+
If |X| is a variable and |Y| a triple pattern:
++ppeval(X:var, Link(iri), Y:TP) = + { (X, xn:term) ∪ μ | triple (xn, iri, P({Y}) ) is in the active graph, + where P = μ(σ) is a pattern instance mapping + with an RDF instance mapping σ + and a solution mapping μ + such that dom(μ) is the set of all variables in Y + and {(X, xn:term)} and μ are compatible }+
If |X| is an RDF term and |Y| a triple pattern:
++ppeval(X:term, Link(iri), Y:TP) = + { μ | triple (X, iri, P({Y}) ) is in the active graph, + where P = μ(σ) is a pattern instance mapping + with an RDF instance mapping σ + and a solution mapping μ + such that dom(μ) is the set of all variables in Y }+
Informally, evaluating a Predicate Property Path is the same as executing a subquery
SELECT * { |X| |iri| |Y| } at that point in the query evaluation.
The previous definition does not correctly cover cases in which |X| or |Y| are a blank node.
+Moreover, the definition needs to be explicit about the multiplicity of the resulting solution mappings. + Is the result of `ppeval`(X, ZeroOrOnePath(ppe), Y) + just a set of solution mappings? + The question is relevant because `ppeval`(X, ppe, Y) may produce a multiset of solution mappings.
+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 @@ -10165,8 +10205,34 @@
Definition: Evaluation of OneOrMorePath
Let ppe be an algebraic property path expression. @@ -10198,6 +10264,10 @@
Definition: Evaluation of NegatedPropertySet
@@ -10213,6 +10283,16 @@Property Path Patterns
{ μ | ∃ triple(μ'(μ, x), p, μ'(μ, y)) in G, such that the IRI of p ∉ S }
The previous definition does not correctly cover cases in which |x| or |y| are a blank node.
+Moreover, the definition needs to be explicit about the multiplicity of the resulting solution mappings. + Is the result of `ppeval`(x, NPS(S), y) + just a set of solution mappings? + The question is relevant because there may be multiple such p ∉ S (and, also, |x| or |y| may be a blank node).
+