diff --git a/spec/index.html b/spec/index.html index ed78e67..180ac86 100644 --- a/spec/index.html +++ b/spec/index.html @@ -10222,22 +10222,32 @@

SPARQL Algebra

|D| be a dataset, and |G| be the active graph. We define:

-

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

-

where, for every solution mapping μ,

-

|Extend|(μ, var, expr, |D|, |G|) = μ ∪ { (var, |expr|(μ, |D|, |G|)) } - if var not in dom(μ) and - |expr|(μ, |D|, |G|) is an RDF term,

-

|Extend|(μ, var, expr, |D|, |G|) = μ - if var not in dom(μ) and - |expr|(μ, |D|, |G|) is an [=error=],

-

|Extend|(μ, var, expr, |D|, |G|) is undefined - if var in dom(μ), and

-

|expr|(μ, |D|, |G|) is the result of +

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

+

+ multiplicity( μ | + Extend(Ω, |var|, |expr|, |D|, |G|) ) + = multiplicity( μ' | Ω ) + if there exists a solution mapping μ' in Ω such that + μ = |Extend|(μ', var, expr, |D|, |G|), +

+

+ multiplicity( μ | + Extend(Ω, |var|, |expr|, |D|, |G|) ) + = 0 if no such solution mapping μ' exists in Ω, +

+

where, for every solution mapping μ',

+

|Extend|(μ', var, expr, |D|, |G|) = μ' ∪ { (var, |expr|(μ', |D|, |G|)) } + if var not in dom(μ') and + |expr|(μ', |D|, |G|) is an RDF term,

+

|Extend|(μ', var, expr, |D|, |G|) = μ' + if var not in dom(μ') and + |expr|(μ', |D|, |G|) is an [=error=],

+

|Extend|(μ', var, expr, |D|, |G|) is undefined + if var in dom(μ'), and

+

|expr|(μ', |D|, |G|) is the result of evaluating expression |expr| - with respect to μ, in the context of dataset |D| with active graph |G|. + with respect to μ', in the context of dataset |D| with active graph |G|.

-
- We need to define multiplicity( μ | Extend(Ω, var, expr, |D|, |G|) )

Write [ x | C ] for a sequence of elements where C is a condition on x.