@@ -8997,8 +8997,22 @@ <h5>SELECT Expressions</h5>
8997
8997
</section>
8998
8998
<section id="convertSolMod">
8999
8999
<h4>Converting Solution Modifiers</h4>
9000
- <p>Solutions modifiers apply to the processing of a SPARQL query after pattern matching.
9001
- The solution modifiers are applied to a query in the following order:</p>
9000
+ <p>Solutions modifiers apply to the processing of a SPARQL query after pattern matching.</p>
9001
+ <p>However, since the solutions modifiers operate on sequences
9002
+ of solution mappings, the query result produced up to this
9003
+ point is first turned from a multiset of solution mappings
9004
+ into such a sequence. While there is no implied ordering to
9005
+ this sequence, and duplicates need not be adjacent, the sequence
9006
+ is identical to the multiset in terms of the elements that it
9007
+ contains, and their multiplicities. To apply this conversion
9008
+ from a multiset into a sequence, the algorithm for capturing
9009
+ the solution modifiers in the algebra expression begins with
9010
+ the following step, where <var>Pattern</var> is the algebra
9011
+ expression produced by the algorithm in the previous section.</p>
9012
+ <blockquote>
9013
+ <p>Let M := ToList(<var>Pattern</var>)</p>
9014
+ </blockquote>
9015
+ <p>Now, the solution modifiers are applied in the following order:</p>
9002
9016
<ul>
9003
9017
<li>Order by</li>
9004
9018
<li>Projection</li>
@@ -9007,12 +9021,6 @@ <h4>Converting Solution Modifiers</h4>
9007
9021
<li>Offset</li>
9008
9022
<li>Limit</li>
9009
9023
</ul>
9010
- <p>Step: ToList</p>
9011
- <p>ToList turns a multiset into a sequence with the same elements and multiplicities. There is
9012
- no implied ordering to the sequence; duplicates need not be adjacent.</p>
9013
- <blockquote>
9014
- <p>Let M := ToList(Pattern)</p>
9015
- </blockquote>
9016
9024
<section id="sparqlOrderBy">
9017
9025
<h5>ORDER BY</h5>
9018
9026
<p>If the query string has an ORDER BY clause</p>
0 commit comments