W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > October to December 2010

Re: More Aggregates questions ... Another scalar parameter for GROUP_CONCAT?

From: Lee Feigenbaum <lee@thefigtrees.net>
Date: Thu, 07 Oct 2010 13:53:04 -0400
Message-ID: <4CAE0900.7040402@thefigtrees.net>
To: Andy Seaborne <andy.seaborne@epimorphics.com>
CC: Steve Harris <steve.harris@garlik.com>, Axel Polleres <axel.polleres@deri.org>, SPARQL Working Group <public-rdf-dawg@w3.org>
On 10/7/2010 10:24 AM, Andy Seaborne wrote:
>  > On 2010-10-07, at 02:50, Axel Polleres wrote:
>  >
>  >> When thinking about practical examples for GROUP_CONCAT, I can
> hardly think of any where I wouldn't want to impose an order...
>  >> ... thus, what's the opinions about adding another scalar parameter
> "order" which takes as parameter "DESC"|"ASC"
>  >>
>
> I agree that it makes GROUP_CONCAT rather more useful to be able to
> control the order.
>
> On 07/10/10 11:18, Steve Harris wrote:
>> My feeling is that you need ORDER BY expression to make it useful.
>
> Agreed.

I'll be a dissenting voice here -- we use GROUP_CONCAT all the time 
without ordering, and I'm not totally clear what use cases are addressed 
by ordering *based on the concatenated string values*. Could you help me 
understand this?

(I see how useful it would be to be able to order the values based on 
some other variable from the group in order to have consistent orderings 
across multiple GROUP_CONCAT invocations within a project list, but 
that's different from what I think I'm reading here...)

Lee

>
> Andy
>
>> On 2010-10-07, at 02:50, Axel Polleres wrote:
>>
>>> When thinking about practical examples for GROUP_CONCAT, I can hardly
>>> think of any where I wouldn't want to impose an order...
>>> ... thus, what's the opinions about adding another scalar parameter
>>> "order" which takes as parameter "DESC"|"ASC"
>>>
>>> That is, e.g. something like:
>>>
>>> PREFIX foaf:<http://xmlns.com/foaf/0.1/>
>>> SELECT ( SAMPLE(?N) as ?Name)
>>> ( GROUP_CONCAT(?M; SEPARATOR = ", " , ORDER="ASC") AS ?Nicknames )
>>> WHERE { ?P a foaf:Person ;
>>> foaf:name ?N ;
>>> foaf:nick ?M . }
>>> GROUP BY ?P
>>>
>>> It seems that GROUP_CONCAT in SQL dialects also has an ORDER BY
>>> clause, as e.g. a quick google search reveals for MySQL [1].
>>>
>>> Steve, do you think that would be a big deal to add?
>>> Others?
>>>
>>> Axel
>>>
>>> P.S.: I thought briefly about not only allowing "ASC"|"DESC" but an
>>> arbitrary ORDER BY expression, however, that admittedly seems not
>>> to go well with the current Aggregation() semantics definition, I am
>>> afraid...
>>>
>>>
>>> 1.
>>> http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat
>>>
>>
>
>
Received on Thursday, 7 October 2010 17:53:44 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:44 GMT