Skip to content
Open
Changes from all 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
16 changes: 9 additions & 7 deletions spec/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2925,12 +2925,14 @@ <h3>Aggregate Projection Restrictions</h3>
?x :q ?z .
} GROUP BY ?x (STR(?z))
</pre>
<p>Note that it would not be legal to project <code>STR(?z)</code> as this is not a simple
variable expression. However, with <code>GROUP BY (STR(?z) AS ?strZ)</code> it would be
possible to project <code>?strZ</code>.</p>
<p>Other expressions, not using <code>GROUP BY</code> variables, or aggregates may have
non-deterministic values projected from their groups using the <code>SAMPLE</code>
aggregate.</p>
<div class="note">
<p>Note that it would not be legal to project <code>STR(?z)</code> as this is not a simple
variable expression. However, with <code>GROUP BY (STR(?z) AS ?strZ)</code> it would be
possible to project <code>?strZ</code>.</p>
<p>For other expressions (not using <code>GROUP BY</code> variables or aggregates),
non-deterministic values may be requested from their groups by using the <code>SAMPLE</code>
aggregate function explicitly.</p>
</div>
</section>
<section id="aggregateExample2">
<h3>Aggregate Example (with errors)</h3>
Expand Down Expand Up @@ -9538,7 +9540,7 @@ <h5>Grouping and Aggregation</h5>

For each (<var>X</var> AS <var>Var</var>) in SELECT, each HAVING(<var>X</var>), and each ORDER BY <var>X</var> in <var>Q</var>
For each unaggregated variable <var>V</var> in <var>X</var>
Replace <var>V</var> with SAMPLE(<var>V</var>)
Raise an error
End
For each aggregate <var>R</var>(<var>args</var> ; <var>scalarvals</var>) now in <var>X</var>
# note: <var>scalarvals</var> may be omitted; if so, it is equivalent to the empty function
Expand Down
Loading