Skip to content

Commit 9a3382e

Browse files
authored
Merge pull request #351 from w3c/Issue266
Fixes inconsistencies in definition of evaluation of property path with sequence
2 parents a628cdf + 6297ece commit 9a3382e

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

spec/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9961,10 +9961,10 @@ <h3>Property Path Patterns</h3>
99619961
<div class="defn">
99629962
<p><b>Definition: <span id="defn_evalPP_sequence">Evaluation of Sequence Property Path</span></b></p>
99639963
<p>Let <var>ppe<sub>1</sub></var> and <var>ppe<sub>2</sub></var> be <a href="#defn_AlgebraicPropertyPathExpression">algebraic property path expressions</a>. Let |V| be a fresh variable.</p>
9964-
<pre class="nohighlight"><var>A</var> = <a href="#defn_algJoin" class="algFct">Join</a>( ppeval(<var>X</var>, <var>ppe<sub>1</sub></var>, <var>V</var>), ppeval(<var>V</var>, <var>ppe<sub>2</sub></var>, <var>Y</var>) )</pre>
9965-
<pre class="nohighlight">ppeval(<var>X</var>, <a href="#defn_ppeSeq" class="ppeOp">Seq</a>(<var>ppe<sub>1</sub></var>, <var>ppe<sub>2</sub></var>), <var>Y</var>) = <a href="#defn_algProject" class="algFct">Project</a>(<var>A</var>, <var>PV</var>)</pre>
9966-
<p>where |PV| = { |v| ∈ {|X|,|Y|} | |v| is a variable}.</p>
9967-
<div class="issue" data-number="266"><a href="#defn_algJoin" class="algFct">Join</a> produces a multiset of solution mappings but <a href="#defn_algProject" class="algFct">Project</a> expects a sequence as its first argument. Moreover, <a href="#defn_algProject" class="algFct">Project</a> produces a sequence but ppeval(..) should be a multiset.</div>
9964+
<pre class="nohighlight">ppeval(<var>X</var>, <a href="#defn_ppeSeq" class="ppeOp">Seq</a>(<var>ppe<sub>1</sub></var>, <var>ppe<sub>2</sub></var>), <var>Y</var>) = <a href="#defn_algToMultiSet" class="algFct">ToMultiSet</a>( <a href="#defn_algProject" class="algFct">Project</a>(<a href="#defn_algToList" class="algFct">ToList</a>(<var>A</var>), <var>PV</var>) )</pre>
9965+
<p>where |A| =
9966+
<a href="#defn_algJoin" class="algFct">Join</a>( `ppeval`(|X|, <var>ppe<sub>1</sub></var>, |V|), `ppeval`(|V|, <var>ppe<sub>2</sub></var>, |Y|) )
9967+
and |PV| = { |projVar| ∈ {|X|,|Y|} | |projVar| is a variable }.</p>
99689968
</div>
99699969
<p>Informally, this is the same as:</p>
99709970
<pre class="nohighlight">SELECT * { <var>X</var> <var>P<sub>1</sub></var> _:a . _:a <var>P<sub>2</sub></var> <var>Y</var> }</pre>

0 commit comments

Comments
 (0)