Skip to content

Commit 2c1f1f2

Browse files
authored
Merge pull request #347 from w3c/Issue308
Changes symbols L, P, P_1, and P_2 in 'Evaluation Semantics' section
2 parents 9a3382e + 782725e commit 2c1f1f2

File tree

1 file changed

+24
-26
lines changed

1 file changed

+24
-26
lines changed

spec/index.html

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10715,7 +10715,7 @@ <h5>Sample</h5>
1071510715
</section>
1071610716
<section id="sparqlAlgebraEval">
1071710717
<h3>Evaluation Semantics</h3>
10718-
<p id="defn_eval">We define <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ<sub>ctx</sub></var>) as the evaluation of an <a href="#defn_AlgebraicQueryExpression">algebraic query expression</a> |A| with
10718+
<p id="defn_eval">We define <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |AQE|, <var>μ<sub>ctx</sub></var>) as the evaluation of an <a href="#defn_AlgebraicQueryExpression">algebraic query expression</a> |AQE| with
1071910719
respect to a <a href="#sparqlDataset">dataset</a> |D| having <a href="#defn_ActiveGraph">active graph</a> |G|
1072010720
in correlation with solution mapping <var>μ<sub>ctx</sub></var>.</p>
1072110721
<p>The active graph is initially the default graph of |D| and
@@ -10727,15 +10727,13 @@ <h3>Evaluation Semantics</h3>
1072710727
as defined in <a href="#func-filter-exists" class="sectionRef"></a>.</p>
1072810728
<p>Further symbols used in the following definitions are:</p>
1072910729
<ul>
10730-
<li>|P|, <var>P<sub>1</sub></var>, <var>P<sub>2</sub></var> : graph patterns</li>
10731-
<li>|L| : a solution sequence</li>
10730+
<li>|A|, <var>A<sub>1</sub></var>, <var>A<sub>2</sub></var> :
10731+
<a href="#defn_AlgebraicQueryExpression">algebraic query expressions</a></li>
1073210732
<li>|F| : an <a href="#expressions">expression</a></li>
1073310733
</ul>
10734-
<div class="issue" data-number="308">
10735-
|L| should not be a solution sequence but an <a href="#defn_AlgebraicQueryExpression">algebraic query expression</a>.</div>
1073610734
<div class="issue" data-number="225">
1073710735
The definitions in this section do not cover the cases in which
10738-
|A| is a sequence or a multiset of solution mappings.</div>
10736+
|AQE| is a sequence or a multiset of solution mappings.</div>
1073910737
<div class="defn">
1074010738
<p><b>Definition: <span id="defn_evalBasicGraphPattern">Evaluation of a Basic Graph Pattern</span></b></p>
1074110739
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), |BGP|, <var>μ<sub>ctx</sub></var> ) = multiset of solution mappings</p>
@@ -10752,49 +10750,49 @@ <h3>Evaluation Semantics</h3>
1075210750
</div>
1075310751
<div class="defn">
1075410752
<p><b>Definition: <span id="defn_evalFilter">Evaluation of Filter</span></b></p>
10755-
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absFilter" class="absOp">Filter</a>(|F|, |P|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algFilter" class="algFct">Filter</a>( |F|, <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |P|, <var>μ<sub>ctx</sub></var>), |D|, |G| )</p>
10753+
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absFilter" class="absOp">Filter</a>(|F|, |A|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algFilter" class="algFct">Filter</a>( |F|, <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ<sub>ctx</sub></var>), |D|, |G| )</p>
1075610754
</div>
1075710755
<div class="defn">
1075810756
<p><b>Definition: <span id="defn_evalJoin">Evaluation of Join</span></b></p>
10759-
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absJoin" class="absOp">Join</a>(<var>P<sub>1</sub></var>, <var>P<sub>2</sub></var>), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algJoin" class="algFct">Join</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), <var>P<sub>1</sub></var>, <var>μ<sub>ctx</sub></var>), <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), <var>P<sub>2</sub></var>, <var>μ<sub>ctx</sub></var>) )</p>
10757+
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absJoin" class="absOp">Join</a>(<var>A<sub>1</sub></var>, <var>A<sub>2</sub></var>), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algJoin" class="algFct">Join</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), <var>A<sub>1</sub></var>, <var>μ<sub>ctx</sub></var>), <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), <var>A<sub>2</sub></var>, <var>μ<sub>ctx</sub></var>) )</p>
1076010758
</div>
1076110759
<div class="defn">
1076210760
<p><b>Definition: <span id="defn_evalLeftJoin">Evaluation of LeftJoin</span></b></p>
1076310761
<p>
10764-
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absLeftJoin" class="absOp">LeftJoin</a>(<var>P<sub>1</sub></var>, <var>P<sub>2</sub></var>, |F|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algLeftJoin" class="algFct">LeftJoin</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), <var>P<sub>1</sub></var>, <var>μ<sub>ctx</sub></var>), <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), <var>P<sub>2</sub></var>, <var>μ<sub>ctx</sub></var>), |F|, |D|, |G| )
10762+
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absLeftJoin" class="absOp">LeftJoin</a>(<var>A<sub>1</sub></var>, <var>A<sub>2</sub></var>, |F|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algLeftJoin" class="algFct">LeftJoin</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), <var>A<sub>1</sub></var>, <var>μ<sub>ctx</sub></var>), <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), <var>A<sub>2</sub></var>, <var>μ<sub>ctx</sub></var>), |F|, |D|, |G| )
1076510763
</p>
1076610764
</div>
1076710765
<div class="defn">
1076810766
<p><b>Definition: <span id="defn_evalUnion">Evaluation of Union</span></b></p>
10769-
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absUnion" class="absOp">Union</a>(<var>P<sub>1</sub></var>, <var>P<sub>2</sub></var>), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algUnion" class="algFct">Union</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), <var>P<sub>1</sub></var>, <var>μ<sub>ctx</sub></var>), <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), <var>P<sub>2</sub></var>, <var>μ<sub>ctx</sub></var>) )</p>
10767+
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absUnion" class="absOp">Union</a>(<var>A<sub>1</sub></var>, <var>A<sub>2</sub></var>), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algUnion" class="algFct">Union</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), <var>A<sub>1</sub></var>, <var>μ<sub>ctx</sub></var>), <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), <var>A<sub>2</sub></var>, <var>μ<sub>ctx</sub></var>) )</p>
1077010768
</div>
1077110769
<div class="defn">
1077210770
<p><b>Definition: <span id="defn_evalGraph">Evaluation of Graph</span></b></p>
1077310771
<p>For every |x| that is
1077410772
an <a data-cite="RDF12-CONCEPTS#dfn-iri">IRI</a> or
1077510773
a <a href="#defn_QueryVariable">variable</a>,
10776-
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absGraph" class="absOp">Graph</a>(|x|, |P|), <var>μ<sub>ctx</sub></var> )
10774+
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absGraph" class="absOp">Graph</a>(|x|, |A|), <var>μ<sub>ctx</sub></var> )
1077710775
is defined as follows:</p>
1077810776
<ul>
1077910777
<li>If |x| is an IRI
1078010778
that is a <a data-cite="RDF12-CONCEPTS#dfn-graph-name">graph name</a> in |D|,
1078110779
<div class="indentedFormula">
10782-
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absGraph" class="absOp">Graph</a>(|x|, |P|), <var>μ<sub>ctx</sub></var> )
10780+
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absGraph" class="absOp">Graph</a>(|x|, |A|), <var>μ<sub>ctx</sub></var> )
1078310781
=
10784-
<a href="#defn_eval" class="evalFct">eval</a>( |D|(<var>G<sub>|x|</sub></var>), |P|, <var>μ<sub>ctx</sub></var> ),
10782+
<a href="#defn_eval" class="evalFct">eval</a>( |D|(<var>G<sub>|x|</sub></var>), |A|, <var>μ<sub>ctx</sub></var> ),
1078510783
</div>
1078610784
where <var>G<sub>|x|</sub></var> is the RDF graph of the named graph with name |x| in |D|.
1078710785
</li>
1078810786
<li>If |x| is an IRI
1078910787
that is not a <a data-cite="RDF12-CONCEPTS#dfn-graph-name">graph name</a> in |D|,
1079010788
<div class="indentedFormula">
10791-
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absGraph" class="absOp">Graph</a>(|x|, |P|), <var>μ<sub>ctx</sub></var> )
10789+
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absGraph" class="absOp">Graph</a>(|x|, |A|), <var>μ<sub>ctx</sub></var> )
1079210790
is the empty multiset.
1079310791
</div>
1079410792
</li>
1079510793
<li>If |x| is a variable,
1079610794
<div class="indentedFormula">
10797-
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absGraph" class="absOp">Graph</a>(|x|, |P|), <var>μ<sub>ctx</sub></var> )
10795+
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absGraph" class="absOp">Graph</a>(|x|, |A|), <var>μ<sub>ctx</sub></var> )
1079810796
=
1079910797
<var>Ω</var>,
1080010798
</div>
@@ -10803,7 +10801,7 @@ <h3>Evaluation Semantics</h3>
1080310801
<var>Ω</var> := the empty multiset
1080410802
for each <a data-cite="RDF12-CONCEPTS#dfn-graph-name">graph name</a> <var>gn</var> in <var>D</var> (recall that a graph name may be an IRI or a blank node)
1080510803
<var>G'</var> := the RDF graph of the named graph with name <var>gn</var> in <var>D</var>
10806-
<var>Ω'</var> := <a href="#defn_eval" class="evalFct">eval</a>( <var>D</var>(<var>G'</var>), <var>P</var>, <var>μ<sub>ctx</sub></var> )
10804+
<var>Ω'</var> := <a href="#defn_eval" class="evalFct">eval</a>( <var>D</var>(<var>G'</var>), <var>A</var>, <var>μ<sub>ctx</sub></var> )
1080710805
<var>Ω</var> := <a href="#defn_algUnion" class="algFct">Union</a>( <var>Ω</var>, <a href="#defn_algJoin" class="algFct">Join</a>(<var>Ω'</var>, <var>μ</var>) ), where <var>μ</var> = {<var>x</var> → <var>gn</var>}
1080810806
the result is <var>Ω</var>
1080910807
</pre>
@@ -10814,7 +10812,7 @@ <h3>Evaluation Semantics</h3>
1081410812
<div id="defn_evalGroup">
1081510813
<b>Definition: Evaluation of Group</b>
1081610814
</div>
10817-
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absGroup" class="absOp">Group</a>(|exprlist|, |P|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algGroup" class="algFct">Group</a>( |exprlist|, <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |P|, <var>μ<sub>ctx</sub></var>) )</p>
10815+
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absGroup" class="absOp">Group</a>(|exprlist|, |A|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algGroup" class="algFct">Group</a>( |exprlist|, <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ<sub>ctx</sub></var>) )</p>
1081810816
</div>
1081910817
<div class="defn">
1082010818
<div id="defn_evalAggregation">
@@ -10834,43 +10832,43 @@ <h3>Evaluation Semantics</h3>
1083410832
<div class="defn">
1083510833
<p><b>Definition: <span id="defn_evalExtend">Evaluation of Extend</span></b></p>
1083610834
<p>
10837-
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absExtend" class="absOp">Extend</a>(|P|, |var|, |expr|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algExtend" class="algFct">Extend</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |P|, <var>μ<sub>ctx</sub></var>), |var|, |expr|, |D|, |G| )
10835+
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absExtend" class="absOp">Extend</a>(|A|, |var|, |expr|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algExtend" class="algFct">Extend</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ<sub>ctx</sub></var>), |var|, |expr|, |D|, |G| )
1083810836
</p>
1083910837
</div>
1084010838
<div class="defn">
1084110839
<p><b>Definition: <span id="defn_evalList">Evaluation of ToList</span></b></p>
10842-
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absToList" class="absOp">ToList</a>(|P|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algToList" class="algFct">ToList</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |P|, <var>μ<sub>ctx</sub></var>) )</p>
10840+
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absToList" class="absOp">ToList</a>(|A|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algToList" class="algFct">ToList</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ<sub>ctx</sub></var>) )</p>
1084310841
</div>
1084410842
<div class="defn">
1084510843
<p><b>Definition: <span id="defn_evalDistinct">Evaluation of Distinct</span></b></p>
10846-
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absDistinct" class="absOp">Distinct</a>(|L|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algDistinct" class="algFct">Distinct</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |L|, <var>μ<sub>ctx</sub></var>) )
10844+
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absDistinct" class="absOp">Distinct</a>(|A|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algDistinct" class="algFct">Distinct</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ<sub>ctx</sub></var>) )
1084710845
</p>
1084810846
</div>
1084910847
<div class="defn">
1085010848
<p><b>Definition: <span id="defn_evalReduced">Evaluation of Reduced</span></b></p>
10851-
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absReduced" class="absOp">Reduced</a>(|L|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algReduced" class="algFct">Reduced</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |L|, <var>μ<sub>ctx</sub></var>) )
10849+
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absReduced" class="absOp">Reduced</a>(|A|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algReduced" class="algFct">Reduced</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ<sub>ctx</sub></var>) )
1085210850
</p>
1085310851
</div>
1085410852
<div class="defn">
1085510853
<p><b>Definition: <span id="defn_evalProject">Evaluation of Project</span></b></p>
10856-
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absProject" class="absOp">Project</a>(|L|, |vars|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algProject" class="algFct">Project</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |L|, <var>μ<sub>ctx</sub></var>), |vars| )
10854+
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absProject" class="absOp">Project</a>(|A|, |vars|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algProject" class="algFct">Project</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ<sub>ctx</sub></var>), |vars| )
1085710855
</p>
1085810856
</div>
1085910857
<div class="defn">
1086010858
<p><b>Definition: <span id="defn_evalOrderBy">Evaluation of OrderBy</span></b></p>
10861-
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absOrderBy" class="absOp">OrderBy</a>(|L|, |condition|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algOrderBy" class="algFct">OrderBy</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |L|, <var>μ<sub>ctx</sub></var>), |condition| )
10859+
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absOrderBy" class="absOp">OrderBy</a>(|A|, |condition|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algOrderBy" class="algFct">OrderBy</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ<sub>ctx</sub></var>), |condition| )
1086210860
</p>
1086310861
</div>
1086410862
<div class="defn">
1086510863
<p><b>Definition: <span id="defn_evalToMultiSet">Evaluation of ToMultiSet</span></b></p>
10866-
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absToMultiset" class="absOp">ToMultiset</a>(|L|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algToMultiSet" class="algFct">ToMultiSet</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |L|, <var>μ<sub>ctx</sub></var>) )</p>
10864+
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absToMultiset" class="absOp">ToMultiset</a>(|A|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algToMultiSet" class="algFct">ToMultiSet</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ<sub>ctx</sub></var>) )</p>
1086710865
</div>
1086810866
<div class="defn">
1086910867
<p><b>Definition: <span id="defn_evalSlice">Evaluation of Slice</span></b></p>
10870-
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absSlice" class="absOp">Slice</a>(|L|, |offset|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algSlice" class="algFct">Slice</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |L|, <var>μ<sub>ctx</sub></var>), |offset| )
10868+
<p><a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absSlice" class="absOp">Slice</a>(|A|, |offset|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algSlice" class="algFct">Slice</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ<sub>ctx</sub></var>), |offset| )
1087110869
</p>
1087210870
<p>
10873-
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absSlice" class="absOp">Slice</a>(|L|, |offset|, |limit|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algSlice" class="algFct">Slice</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |L|, <var>μ<sub>ctx</sub></var>), |offset|, |limit| )
10871+
<a href="#defn_eval" class="evalFct">eval</a>( |D|(|G|), <a href="#defn_absSlice" class="absOp">Slice</a>(|A|, |offset|, |limit|), <var>μ<sub>ctx</sub></var> ) = <a href="#defn_algSlice" class="algFct">Slice</a>( <a href="#defn_eval" class="evalFct">eval</a>(|D|(|G|), |A|, <var>μ<sub>ctx</sub></var>), |offset|, |limit| )
1087410872
</p>
1087510873
</div>
1087610874
</section>

0 commit comments

Comments
 (0)