Skip to content

Commit e8c0ae3

Browse files
authored
Merge pull request #348 from w3c/Issue290
Adds definition of multiplicity for Extend operator
2 parents 7105aba + 566f94e commit e8c0ae3

File tree

1 file changed

+24
-14
lines changed

1 file changed

+24
-14
lines changed

spec/index.html

Lines changed: 24 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10242,22 +10242,32 @@ <h3>SPARQL Algebra</h3>
1024210242
|D| be a <a href="#sparqlDataset">dataset</a>,
1024310243
and |G| be the <a href="#defn_ActiveGraph">active graph</a>.
1024410244
We define:</p>
10245-
<p><a href="#defn_algExtend" class="algFct">Extend</a>(<var>Ω</var>, <var>var</var>, <var>expr</var>, |D|, |G|) = { |Extend|(<var>μ</var>, <var>var</var>, <var>expr</var>, |D|, |G|) | <var>μ</var> in <var>Ω</var> },</p>
10246-
<p>where, for every solution mapping <var>μ</var>,</p>
10247-
<p>|Extend|(<var>μ</var>, <var>var</var>, <var>expr</var>, |D|, |G|) = <var>μ</var> ∪ { (<var>var</var>, |expr|(<var>μ</var>, |D|, |G|)) }
10248-
if <var>var</var> not in dom(<var>μ</var>) and
10249-
|expr|(<var>μ</var>, |D|, |G|) is an RDF term,</p>
10250-
<p>|Extend|(<var>μ</var>, <var>var</var>, <var>expr</var>, |D|, |G|) = <var>μ</var>
10251-
if <var>var</var> not in dom(<var>μ</var>) and
10252-
|expr|(<var>μ</var>, |D|, |G|) is an [=error=],</p>
10253-
<p>|Extend|(<var>μ</var>, <var>var</var>, <var>expr</var>, |D|, |G|) is undefined
10254-
if <var>var</var> in dom(<var>μ</var>), and</p>
10255-
<p>|expr|(<var>μ</var>, |D|, |G|) is the result of
10245+
<p><a href="#defn_algExtend" class="algFct">Extend</a>(<var>Ω</var>, <var>var</var>, <var>expr</var>, |D|, |G|) = { |Extend|(<var>μ'</var>, <var>var</var>, <var>expr</var>, |D|, |G|) | <var>μ'</var> in <var>Ω</var> },</p>
10246+
<p>
10247+
<a href="#defn_Multiplicity">multiplicity</a>( <var>μ</var> |
10248+
<a href="#defn_algExtend" class="algFct">Extend</a>(<var>Ω</var>, |var|, |expr|, |D|, |G|) )
10249+
= <a href="#defn_Multiplicity">multiplicity</a>( <var>μ'</var> | <var>Ω</var> )
10250+
if there exists a solution mapping <var>μ'</var> in <var>Ω</var> such that
10251+
<var>μ</var> = |Extend|(<var>μ'</var>, <var>var</var>, <var>expr</var>, |D|, |G|),
10252+
</p>
10253+
<p>
10254+
<a href="#defn_Multiplicity">multiplicity</a>( <var>μ</var> |
10255+
<a href="#defn_algExtend" class="algFct">Extend</a>(<var>Ω</var>, |var|, |expr|, |D|, |G|) )
10256+
= 0 if no such solution mapping <var>μ'</var> exists in <var>Ω</var>,
10257+
</p>
10258+
<p>where, for every solution mapping <var>μ'</var>,</p>
10259+
<p>|Extend|(<var>μ'</var>, <var>var</var>, <var>expr</var>, |D|, |G|) = <var>μ'</var> ∪ { (<var>var</var>, |expr|(<var>μ'</var>, |D|, |G|)) }
10260+
if <var>var</var> not in dom(<var>μ'</var>) and
10261+
|expr|(<var>μ'</var>, |D|, |G|) is an RDF term,</p>
10262+
<p>|Extend|(<var>μ'</var>, <var>var</var>, <var>expr</var>, |D|, |G|) = <var>μ'</var>
10263+
if <var>var</var> not in dom(<var>μ'</var>) and
10264+
|expr|(<var>μ'</var>, |D|, |G|) is an [=error=],</p>
10265+
<p>|Extend|(<var>μ'</var>, <var>var</var>, <var>expr</var>, |D|, |G|) is undefined
10266+
if <var>var</var> in dom(<var>μ'</var>), and</p>
10267+
<p>|expr|(<var>μ'</var>, |D|, |G|) is the result of
1025610268
<a href="#expression-evaluation">evaluating</a> expression |expr|
10257-
with respect to <var>μ</var>, in the context of dataset |D| with active graph |G|.
10269+
with respect to <var>μ'</var>, in the context of dataset |D| with active graph |G|.
1025810270
</p>
10259-
<div class="issue" data-number="290">
10260-
We need to define <a href="#defn_Multiplicity">multiplicity</a>( <var>μ</var> | <a href="#defn_algExtend" class="algFct">Extend</a>(<var>Ω</var>, <var>var</var>, <var>expr</var>, |D|, |G|) )</div>
1026110271
</div>
1026210272
<p>Write [ <var>x</var> | <var>C</var> ] for a sequence of elements where <var>C</var> is a condition on <var>x</var>.</p>
1026310273
<div class="defn">

0 commit comments

Comments
 (0)