- From: Eric Prud'hommeaux <eric@w3.org>
- Date: Thu, 22 Mar 2007 12:58:42 -0400
- To: "Seaborne, Andy" <andy.seaborne@hp.com>
- Cc: public-rdf-dawg@w3.org
- Message-ID: <20070322165842.GN4098@w3.org>
* Seaborne, Andy <andy.seaborne@hp.com> [2007-03-16 18:25+0000]
>
>
>
> Eric Prud'hommeaux wrote:
> >Looking at the definition for DISTINCT in light of the INDISTINCT
> >proposal, I reallized that I wasn't sure whether
> > {(X=<a>, Y=<b>)
> > (X=<b>, Y=<a>)} had a duplicate. Also, "duplicates" wasn't really
> >defined.
>
> As per the WG decision, it is in the algebra. Clearer statement here
> would be good.
>
> I expanded the section to make it more clear what the default
cool, though i didn't actually use it because i couldn't figure out
how to make my proposed text neither inaccurate nor misleading.
> >was and how DISTINCT acted.
> >
> >PROPOSED, replace 9.3 DISTINCT with this text:
> >
> >9.3 DISTINCT
> >
> >The solution sequence with no DISTINCT or INDISTINCT modifier is
> >defined by the SPARQL algebra in 12 Definition of SPARQL:
>
> The algebra covers all the solution modifiers and has a 'Distinct' operator
> so it defines SELECT and SELECT DISTINCT. This seems to implicitly imply
> that DISTINCT is not covered by the algebra.
agreed. went with "<p>The solution sequence with no
<code>DISTINCT</code> or <code>REDUCED</code> modifier may include
duplicate solutions:</p>" as there are no other forward refs here.
> The algebra gives a definition of duplicate based on "same solution
> mapping" (= binding) = "same variable, same RDF term" that is, RDF term
> equivalence.
do you read that as agreeing with the sentence about what the DISTINCT
modifier does?
> >
> > @prefix foaf: <http://xmlns.com/foaf/0.1/> .
> >
> > _:x foaf:name "Alice" .
> > _:x foaf:mbox <mailto:alice@example.com> .
> >
> > _:y foaf:name "Alice" .
> > _:y foaf:mbox <mailto:asmith@example.com> .
> >
> > _:z foaf:name "Alice" .
> > _:z foaf:mbox <mailto:alice.smith@example.com> .
> >
> > PREFIX foaf: <http://xmlns.com/foaf/0.1/>
> > SELECT ?name WHERE { ?x foaf:name ?name }
> >
> > name
> > "Alice"
> > "Alice"
> > "Alice"
> >
> >The DISTINCT solution modifier eliminates duplicate solutions.
> >Specifically, each solution that binds the same variables to the same
> >RDF terms as another solution is eliminated from the solution set.
>
> No duplicate bindings - yes, that better.
>
> >
> > PREFIX foaf: <http://xmlns.com/foaf/0.1/>
> > SELECT DISTINCT ?name WHERE { ?x foaf:name ?name }
> >
> > name
> > "Alice"
> >
> >If DISTINCT and LIMIT or OFFSET are specified, then duplicates are
> >eliminated before the limit or offset is applied.
>
> This is covered at the start of sec 9
> """Modifiers are applied in the order given by the list above."""
> Repeating does not harm but isn't necessary although then why don't all
> such sections have the appropriate similar text.
Editorially, if felt to me like it needed pointing out.
[[
Note that, per the order of solution sequence modifiers, duplicates
are eliminated before either limit or offset is applied.
]]
I am so commited to this text that I am asking you to disagree with me
before I'll strike it. Meaning, say the word and it's gone.
--
-eric
office: +1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA
(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.
Received on Thursday, 22 March 2007 16:59:18 UTC