diff --git a/spec/index.html b/spec/index.html index 39d9604..641b50a 100644 --- a/spec/index.html +++ b/spec/index.html @@ -9904,14 +9904,20 @@

SPARQL Algebra

described above.

Definition: Filter

-

Let Ω be a multiset of solution mappings and expr be an expression. We define:

-

Filter(expr, Ω) = { μ | μ in Ω and expr(μ) is an expression that has an +

Let Ω be a multiset of solution mappings, + expr be an expression, + |D| be a dataset, + and |G| be the active graph. + We define:

+

Filter(expr, Ω, |D|, |G|) = { μ in Ω | expr(μ) is an expression that has an effective boolean value of true }

-

multiplicity( μ | Filter(expr, Ω) ) +

+ It is not clear what expr(μ) is, and it is not apparent in the formula that the expression |expr| is meant to be evaluated not only with respect to μ but also with respect to |D| with active graph |G|.
+

multiplicity( μ | Filter(expr, Ω, |D|, |G|) ) = multiplicity( μ | Ω )

- Note that evaluating an exists(pattern) expression uses the dataset and - active graph, D(G). See the evaluation of filter. + Note that evaluating an exists(pattern) expression uses the dataset |D| and + active graph |G|. See the evaluation of filter.
@@ -9933,10 +9939,12 @@

SPARQL Algebra

Definition: Diff

Let Ω1 and Ω2 be multisets of solution mappings and expr be an - expression. We define:

+ expression. We define:

Diff(Ω1, Ω2, expr) = { μ | μ in Ω1 such that ∀ μ' in Ω2, either μ and μ' are not compatible or μ and μ' are compatible and expr(merge(μ, μ')) does not have an effective boolean value of true }

+
+ It is not clear what expr(μ) is, and it is not apparent in the formula that the expression |expr| is meant to be evaluated not only with respect to μ but also with respect to |D| with active graph |G|.

multiplicity( μ | Diff(Ω1, Ω2, expr) ) = multiplicity( μ | Ω1 )

@@ -9946,7 +9954,7 @@

SPARQL Algebra

Definition: LeftJoin

Let Ω1 and Ω2 be multisets of solution mappings and expr be an - expression. We define:

+ expression. We define:

LeftJoin(Ω1, Ω2, expr) = Filter(expr, Join(Ω1, Ω2)) ∪ Diff(Ω1, Ω2, expr)

multiplicity( μ | LeftJoin(Ω1, Ω2, expr) ) = @@ -9984,6 +9992,8 @@

SPARQL Algebra

Let μ be a solution mapping, Ω a multiset of solution mappings, var a variable and expr be an expression, then we define:

Extend(μ, var, expr) = μ ∪ { (var, value) | var not in dom(μ) and value = expr(μ) }

+
+ It is not clear what expr(μ) is, and it is not apparent in the formula that the expression |expr| is meant to be evaluated not only with respect to μ but also with respect to |D| with active graph |G|.

Extend(μ, var, expr) = μ if var not in dom(μ) and expr(μ) is an error

Extend is undefined if var in dom(μ).

Extend(Ω, var, expr) = { Extend(μ, var, expr) | μ in Ω }

@@ -10437,7 +10447,7 @@

Evaluation Semantics

The definitions in this section do not cover the cases in which @@ -10454,7 +10464,7 @@

Evaluation Semantics

Definition: Evaluation of Filter

-

eval( |D|(|G|), Filter(|F|, |P|) ) = Filter( |F|, eval(|D|(|G|), |P|), |D|(|G|) )

+

eval( |D|(|G|), Filter(|F|, |P|) ) = Filter( |F|, eval(|D|(|G|), |P|), |D|, |G| )

'substitute' is a filter function in support of the evaluation of EXISTS