Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions spec/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -9948,10 +9948,10 @@ <h3>Property Path Patterns</h3>
<div class="defn">
<p><b>Definition: <span id="defn_evalPP_sequence">Evaluation of Sequence Property Path</span></b></p>
<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>
<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>
<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>
<p>where |PV| = { |v| ∈ {|X|,|Y|} | |v| is a variable}.</p>
<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>
<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>
<p>where |A| =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Miinor/preference: I find it easier if things are defined before they are used -- i.e. A = before ToList(A).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Honestly, I don't find that easier. At least not in the way it looks like at the moment (i.e., before this PR):

Image

There I am just wondering: what is this A about, why isn't this definition just defining the ppeval as all other definitions in this section do?

<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|) )
and |PV| = { |v| ∈ {|X|,|Y|} | |v| is a variable}.</p>
</div>
<p>Informally, this is the same as:</p>
<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>
Expand Down
Loading