You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
M(Ψ) = [ ListEval(exprlist, μ) | μ in Ψ ]<br>
9574
9574
F(Ψ) = func(M(Ψ), scalarvals), for non-<code>DISTINCT</code><br>
9575
9575
F(Ψ) = func(Dedup(M(Ψ)), scalarvals), for <code>DISTINCT</code></p>
9576
-
<p>with Dedup(M(Ψ)) being an order-preserving, duplicate-free version of the sequence M(Ψ); that is, Dedup(M(Ψ)) is a sequence of RDF terms that has the following four properties.</p>
9576
+
<p>with Dedup(M(Ψ)) being an order-preserving, duplicate-free version of the sequence M(Ψ); that is, Dedup(M(Ψ)) is a sequence of lists that has the following four properties
9577
+
(where each such list in this sequence may contain RDF terms and
9578
+
errors, as it is produced by the ListEval function).</p>
9577
9579
<ol>
9578
-
<li>Every unique element in M(Ψ) is contained in Dedup(M(Ψ)).</li>
9579
-
<li>Every element in Dedup(M(Ψ)) is contained in M(Ψ).</li>
9580
-
<li>Dedup(M(Ψ)) is free of duplicates. That is, the element at the |i|-th position in Dedup(M(Ψ)) is not the same term as the element at the |j|-th position in Dedup(M(Ψ)) for every two natural numbers |i| and |j| such that |i| ≠ |j|.</li>
9581
-
<li>For any two elements <var>e<sub>1</sub></var> and <var>e<sub>2</sub></var> in Dedup(M(Ψ)), the relative order of their first occurrences in M(Ψ) is preserved in Dedup(M(Ψ)). That is, if <var>i<sub>1</sub></var> < <var>i<sub>2</sub></var>, then <var>j<sub>1</sub></var> < <var>j<sub>2</sub></var>, where
9580
+
<li>For every list <var>L</var> in M(Ψ) there exists a
9581
+
list <var>L'</var> in Dedup(M(Ψ)) such that <var>L</var>
9582
+
and <var>L'</var> are the same,
9583
+
where two lists <var>L</var> and <var>L'</var> from M(Ψ) are
9584
+
considered the same iff they have the same number of elements
9585
+
and, for every position <var>k</var> within the two lists,
9586
+
any of the following two conditions is true:
9582
9587
<ul>
9583
-
<li><var>i<sub>1</sub></var> is the smallest natural number such that <var>e<sub>1</sub></var> is at the <var>i<sub>1</sub></var>-th position in M(Ψ),</li>
9584
-
<li><var>i<sub>2</sub></var> is the smallest natural number such that <var>e<sub>2</sub></var> is at the <var>i<sub>2</sub></var>-th position in M(Ψ),</li>
9585
-
<li><var>j<sub>1</sub></var> is the position of <var>e<sub>1</sub></var> in Dedup(M(Ψ)), and</li>
9586
-
<li><var>j<sub>2</sub></var> is the position of <var>e<sub>2</sub></var> in Dedup(M(Ψ)).</li>
9588
+
<li>either the element at the <var>k</var>-th position of
9589
+
<var>L</var> is an RDF term, the element at the <var>k</var>-th
9590
+
position of <var>L'</var> is also an RDF term, and these two
9591
+
RDF terms are the <a href="#func-sameTerm">same term</a>;</li>
9592
+
<li>or the element at the <var>k</var>-th position of <var>L</var>
9593
+
is an error and the element at the <var>k</var>-th position of
9594
+
<var>L'</var> is also an error.</li>
9595
+
</ul>
9596
+
</li>
9597
+
<li>For every list <var>L</var> in Dedup(M(Ψ)) there exists
9598
+
a list <var>L'</var> in M(Ψ) such that <var>L</var> and
9599
+
<var>L'</var> are the same.</li>
9600
+
<li>Dedup(M(Ψ)) is free of duplicates. That is, the list at the |i|-th position in Dedup(M(Ψ)) is not the same list as the list at the |j|-th position in Dedup(M(Ψ)) for every two natural numbers |i| and |j| such that |i| ≠ |j|.</li>
9601
+
<li>For any two lists <var>L<sub>1</sub></var> and <var>L<sub>2</sub></var> in Dedup(M(Ψ)), the relative order of their first occurrences in M(Ψ) is preserved in Dedup(M(Ψ)). That is, if <var>i<sub>1</sub></var> < <var>i<sub>2</sub></var>, then <var>j<sub>1</sub></var> < <var>j<sub>2</sub></var>, where
9602
+
<ul>
9603
+
<li><var>i<sub>1</sub></var> is the smallest natural number such that <var>L<sub>1</sub></var> is at the <var>i<sub>1</sub></var>-th position in M(Ψ),</li>
9604
+
<li><var>i<sub>2</sub></var> is the smallest natural number such that <var>L<sub>2</sub></var> is at the <var>i<sub>2</sub></var>-th position in M(Ψ),</li>
9605
+
<li><var>j<sub>1</sub></var> is the position of <var>L<sub>1</sub></var> in Dedup(M(Ψ)), and</li>
9606
+
<li><var>j<sub>2</sub></var> is the position of <var>L<sub>2</sub></var> in Dedup(M(Ψ)).</li>
9587
9607
</ul>
9588
9608
</li>
9589
9609
</ol>
9590
9610
9591
9611
<p><b>Special Case:</b> when <code>COUNT</code> is used with the expression
9592
9612
<code>*</code>, then F(Ψ) is the cardinality of the group solution sequence,
0 commit comments