diff --git a/spec/index.html b/spec/index.html index b77e33a..2814f2f 100644 --- a/spec/index.html +++ b/spec/index.html @@ -10653,34 +10653,40 @@
We define eval(|D|(|G|), |A|) as the evaluation of an algebraic query expression |A| with - respect to a dataset |D| having active graph |G|. The active graph is initially the default +
We define eval(|D|(|G|), |A|, μctx) as the evaluation of an algebraic query expression |A| with + respect to a dataset |D| having active graph |G| + in correlation with solution mapping μctx. + The active graph is initially the default graph of |D|. Further symbols used in the following definitions are:
Definition: Evaluation of a Basic Graph Pattern
-eval( |D|(|G|), |BGP| ) = multiset of solution mappings
+eval( |D|(|G|), |BGP|, μctx ) = multiset of solution mappings
See section Basic Graph Patterns
Definition: Evaluation of a Property Path Pattern
-eval( |D|(|G|), Path(|X|, |path|, |Y|) ) = multiset of solution mappings
+eval( |D|(|G|), Path(|X|, |path|, |Y|), μctx ) = multiset of solution mappings
See section Property Path Patterns
Definition: Evaluation of Filter
-eval( |D|(|G|), Filter(|F|, |P|) ) = Filter( |F|, eval(|D|(|G|), |P|), |D|, |G| )
+eval( |D|(|G|), Filter(|F|, |P|), μctx ) = Filter( |F|, eval(|D|(|G|), |P|, μctx), |D|, |G| )
'substitute' is a filter function in support of the evaluation of
EXISTS
and NOT EXISTS forms which were translated to exists.
Definition: Substitute
Let μ be a solution mapping.
@@ -10699,45 +10705,45 @@Definition: Evaluation of Join
-eval( |D|(|G|), Join(P1, P2) ) = Join( eval(|D|(|G|), P1), eval(|D|(|G|), P2) )
+eval( |D|(|G|), Join(P1, P2), μctx ) = Join( eval(|D|(|G|), P1, μctx), eval(|D|(|G|), P2, μctx) )
Definition: Evaluation of LeftJoin
-eval( |D|(|G|), LeftJoin(P1, P2, |F|) ) = LeftJoin( eval(|D|(|G|), P1), eval(|D|(|G|), P2), |F|, |D|, |G| ) +eval( |D|(|G|), LeftJoin(P1, P2, |F|), μctx ) = LeftJoin( eval(|D|(|G|), P1, μctx), eval(|D|(|G|), P2, μctx), |F|, |D|, |G| )
Definition: Evaluation of Union
-eval( |D|(|G|), Union(P1, P2) ) = Union( eval(|D|(|G|), P1), eval(|D|(|G|), P2) )
+eval( |D|(|G|), Union(P1, P2), μctx ) = Union( eval(|D|(|G|), P1, μctx), eval(|D|(|G|), P2, μctx) )
Definition: Evaluation of Graph
For every |x| that is an IRI or a variable, - eval( |D|(|G|), Graph(|x|, |P|) ) + eval( |D|(|G|), Graph(|x|, |P|), μctx ) is defined as follows:
eval( |D|(|G|), Group(|exprlist|, |P|) ) = Group( |exprlist|, eval(|D|(|G|), |P|) )
+eval( |D|(|G|), Group(|exprlist|, |P|), μctx ) = Group( |exprlist|, eval(|D|(|G|), |P|, μctx) )
eval( |D|(|G|), Aggregation(|exprlist|, |func|, |scalarvals|, |Grp|) ) = Aggregation( |exprlist|, |func|, - |scalarvals|, eval(|D|(|G|), |Grp|) )
+eval( |D|(|G|), Aggregation(|exprlist|, |func|, |scalarvals|, |Grp|), μctx ) = Aggregation( |exprlist|, |func|, + |scalarvals|, eval(|D|(|G|), |Grp|, μctx) )
eval( |D|(|G|), AggregateJoin(A1, ..., An) ) = - AggregateJoin( eval(|D|(|G|), A1), ..., eval(|D|(|G|), An) )
+eval( |D|(|G|), AggregateJoin(A1, ..., An), μctx ) = + AggregateJoin( eval(|D|(|G|), A1, μctx), ..., eval(|D|(|G|), An, μctx) )
Note that if eval(|D|(|G|), Ai) is an error, it is ignored.
+Note that if eval(|D|(|G|), Ai, μctx) is an error, it is ignored.
Definition: Evaluation of Extend
-eval( |D|(|G|), Extend(|P|, |var|, |expr|) ) = Extend( eval(|D|(|G|), |P|), |var|, |expr|, |D|, |G| ) +eval( |D|(|G|), Extend(|P|, |var|, |expr|), μctx ) = Extend( eval(|D|(|G|), |P|, μctx), |var|, |expr|, |D|, |G| )
Definition: Evaluation of ToList
-eval( |D|(|G|), ToList(|P|) ) = ToList( eval(|D|(|G|), |P|) )
+eval( |D|(|G|), ToList(|P|), μctx ) = ToList( eval(|D|(|G|), |P|, μctx) )
Definition: Evaluation of Distinct
-eval( |D|(|G|), Distinct(|L|) ) = Distinct( eval(|D|(|G|), |L|) ) +
eval( |D|(|G|), Distinct(|L|), μctx ) = Distinct( eval(|D|(|G|), |L|, μctx) )
Definition: Evaluation of Reduced
-eval( |D|(|G|), Reduced(|L|) ) = Reduced( eval(|D|(|G|), |L|) ) +
eval( |D|(|G|), Reduced(|L|), μctx ) = Reduced( eval(|D|(|G|), |L|, μctx) )
Definition: Evaluation of Project
-eval( |D|(|G|), Project(|L|, |vars|) ) = Project( eval(|D|(|G|), |L|), |vars| ) +
eval( |D|(|G|), Project(|L|, |vars|), μctx ) = Project( eval(|D|(|G|), |L|, μctx), |vars| )
Definition: Evaluation of OrderBy
-eval( |D|(|G|), OrderBy(|L|, |condition|) ) = OrderBy( eval(|D|(|G|), |L|), |condition| ) +
eval( |D|(|G|), OrderBy(|L|, |condition|), μctx ) = OrderBy( eval(|D|(|G|), |L|, μctx), |condition| )
Definition: Evaluation of ToMultiSet
-eval( |D|(|G|), ToMultiset(|L|) ) = ToMultiSet( eval(|D|(|G|), |L|) )
+eval( |D|(|G|), ToMultiset(|L|), μctx ) = ToMultiSet( eval(|D|(|G|), |L|, μctx) )
Definition: Evaluation of Slice
-eval( |D|(|G|), Slice(|L|, |offset|) ) = Slice( eval(|D|(|G|), |L|), |offset| ) +
eval( |D|(|G|), Slice(|L|, |offset|), μctx ) = Slice( eval(|D|(|G|), |L|, μctx), |offset| )
-eval( |D|(|G|), Slice(|L|, |offset|, |limit|) ) = Slice( eval(|D|(|G|), |L|), |offset|, |limit| ) +eval( |D|(|G|), Slice(|L|, |offset|, |limit|), μctx ) = Slice( eval(|D|(|G|), |L|, μctx), |offset|, |limit| )