edit

SPARQL Working Group Teleconference

Minutes of 31 August 2010

Agenda
http://www.w3.org/2009/sparql/wiki/Agenda-2010-08-31
Seen
Alexandre Passant, Andy Seaborne, Axel Polleres, Birte Glimm, Gregory Williams, Ivan Herman, Lee Feigenbaum, Matthew Perry, Nicholas Humfrey, Nico Michaelis, Olivier Corby, Paula Gearon, Sandro Hawke, Souripriya Das, Steve Harris
Regrets
Axel Polleres, Olivier Corby
Chair
Lee Feigenbaum
Scribe
Sandro Hawke
IRC Log
Original
Resolutions
  1. Approve minutes at http://www.w3.org/2009/sparql/meeting/2010-08-24 link
  2. query results can be grouped by expressions, and those expressions can be aliased to a variable which can then be projected -- the mechanism & syntax for defining these aliases remains to be determined link
Topics
13:54:34 <RRSAgent> logging to http://www.w3.org/2010/08/31-sparql-irc

RRSAgent IRC Bot: logging to http://www.w3.org/2010/08/31-sparql-irc

13:54:36 <trackbot> RRSAgent, make logs world

Trackbot IRC Bot: RRSAgent, make logs world

13:54:38 <trackbot> Zakim, this will be 77277

Trackbot IRC Bot: Zakim, this will be 77277

13:54:38 <Zakim> ok, trackbot; I see SW_(SPARQL)10:00AM scheduled to start in 6 minutes

Zakim IRC Bot: ok, trackbot; I see SW_(SPARQL)10:00AM scheduled to start in 6 minutes

13:54:39 <trackbot> Meeting: SPARQL Working Group Teleconference
13:54:39 <trackbot> Date: 31 August 2010
13:54:41 <LeeF> zakim, this will be SPARQL

Lee Feigenbaum: zakim, this will be SPARQL

13:54:41 <Zakim> ok, LeeF; I see SW_(SPARQL)10:00AM scheduled to start in 6 minutes

Zakim IRC Bot: ok, LeeF; I see SW_(SPARQL)10:00AM scheduled to start in 6 minutes

13:54:45 <LeeF> Chair: LeeF
13:54:49 <LeeF> Scribenick: sandro

(Scribe set to Sandro Hawke)

13:55:01 <LeeF> Agenda: http://www.w3.org/2009/sparql/wiki/Agenda-2010-08-31
13:57:38 <LeeF> sandro, are you available to scribe today?

Lee Feigenbaum: sandro, are you available to scribe today?

13:59:01 <Zakim> SW_(SPARQL)10:00AM has now started

Zakim IRC Bot: SW_(SPARQL)10:00AM has now started

13:59:09 <Zakim> +NicoM

Zakim IRC Bot: +NicoM

13:59:32 <Zakim> +Lee_Feigenbaum

Zakim IRC Bot: +Lee_Feigenbaum

13:59:45 <NicholasH> booooo

Nicholas Humfrey: booooo

13:59:53 <NicholasH> I am too late for the UK phone number :(

Nicholas Humfrey: I am too late for the UK phone number :(

13:59:55 <Zakim> +kasei

Zakim IRC Bot: +kasei

14:00:00 <ivan> zakim, dial ivan-voip

Ivan Herman: zakim, dial ivan-voip

14:00:00 <Zakim> ok, ivan; the call is being made

Zakim IRC Bot: ok, ivan; the call is being made

14:00:04 <Zakim> +Ivan

Zakim IRC Bot: +Ivan

14:00:27 <Zakim> +??P22

Zakim IRC Bot: +??P22

14:00:35 <AndyS> zakim, ??P22 is me

Andy Seaborne: zakim, ??P22 is me

14:00:35 <Zakim> +AndyS; got it

Zakim IRC Bot: +AndyS; got it

14:00:44 <AndyS> zakim, who is on the phone

Andy Seaborne: zakim, who is on the phone

14:00:44 <Zakim> I don't understand 'who is on the phone', AndyS

Zakim IRC Bot: I don't understand 'who is on the phone', AndyS

14:00:51 <AndyS> zakim, who is on the phone?

Andy Seaborne: zakim, who is on the phone?

14:00:51 <Zakim> On the phone I see NicoM, Lee_Feigenbaum, kasei, Ivan, AndyS

Zakim IRC Bot: On the phone I see NicoM, Lee_Feigenbaum, kasei, Ivan, AndyS

14:02:20 <LeeF> zakim, Lee_Feigenbaum is me

Lee Feigenbaum: zakim, Lee_Feigenbaum is me

14:02:20 <Zakim> +LeeF; got it

Zakim IRC Bot: +LeeF; got it

14:02:58 <Zakim> +Sandro

Zakim IRC Bot: +Sandro

14:03:35 <Zakim> +[IPcaller]

Zakim IRC Bot: +[IPcaller]

14:03:44 <SteveH_> Zakim, [IPcaller] is me

Steve Harris: Zakim, [IPcaller] is me

14:03:44 <Zakim> +SteveH_; got it

Zakim IRC Bot: +SteveH_; got it

14:03:45 <sandro> sandro has changed the topic to: Agenda: http://www.w3.org/2009/sparql/wiki/Agenda-2010-08-31

sandro has changed the topic to: Agenda: http://www.w3.org/2009/sparql/wiki/Agenda-2010-08-31

14:03:54 <LeeF> Scribenick: Sandro
14:03:59 <SteveH_> hi, sorry, trouble connecting

Steve Harris: hi, sorry, trouble connecting

14:04:03 <bglimm> Sorry, can't find a telephone line as usual

Birte Glimm: Sorry, can't find a telephone line as usual

14:04:19 <Zakim> +bglimm

Zakim IRC Bot: +bglimm

14:04:26 <Zakim> +MattPerry

Zakim IRC Bot: +MattPerry

14:04:31 <LeeF> zakim, who's on the phone?

Lee Feigenbaum: zakim, who's on the phone?

14:04:31 <Zakim> On the phone I see NicoM, LeeF, kasei, Ivan, AndyS, Sandro, SteveH_, bglimm, MattPerry

Zakim IRC Bot: On the phone I see NicoM, LeeF, kasei, Ivan, AndyS, Sandro, SteveH_, bglimm, MattPerry

14:04:32 <bglimm> France has telephone lines...

Birte Glimm: France has telephone lines...

14:04:37 <SteveH_> does zakim have the ability to call voip addresses in/out?

Steve Harris: does zakim have the ability to call voip addresses in/out?

14:04:40 <LeeF> zakim, who's speaking?

Lee Feigenbaum: zakim, who's speaking?

14:04:50 <Zakim> LeeF, listening for 10 seconds I heard sound from the following: AndyS (49%)

Zakim IRC Bot: LeeF, listening for 10 seconds I heard sound from the following: AndyS (49%)

14:04:56 <AndyS> ack

Andy Seaborne: ack

14:05:04 <SteveH_> AndyS, on time doesn't help :(

Steve Harris: AndyS, on time doesn't help :(

14:05:06 <Zakim> +Souri

Zakim IRC Bot: +Souri

14:05:14 <LeeF> topic: Admin

1. Admin

14:05:17 <AndyS> Should be better?

Andy Seaborne: Should be better?

14:05:18 <Zakim> +[IPcaller]

Zakim IRC Bot: +[IPcaller]

14:05:18 <bglimm> Ivan, Sandro, will there be more UK phone numbers any time soon?

Birte Glimm: Ivan, Sandro, will there be more UK phone numbers any time soon?

14:05:26 <LeeF> PROPOSED: Approve minutes at http://www.w3.org/2009/sparql/meeting/2010-08-24

PROPOSED: Approve minutes at http://www.w3.org/2009/sparql/meeting/2010-08-24

14:05:31 <AlexPassant> Zakim, IPcaller is me

Alexandre Passant: Zakim, IPcaller is me

14:05:32 <Zakim> +AlexPassant; got it

Zakim IRC Bot: +AlexPassant; got it

14:05:34 <sandro> bglimm, I know there are folks working on it.  I don't know the prognosis.

bglimm, I know there are folks working on it. I don't know the prognosis.

14:05:42 <bglimm> Zakim, mute me�

Birte Glimm: Zakim, mute me�

14:05:42 <Zakim> sorry, bglimm, I do not know which phone connection belongs to me�

Zakim IRC Bot: sorry, bglimm, I do not know which phone connection belongs to me�

14:05:48 <Zakim> +??P35

Zakim IRC Bot: +??P35

14:05:56 <bglimm> Zakim, I hate you sometimes!

Birte Glimm: Zakim, I hate you sometimes!

14:05:56 <Zakim> I don't understand 'I hate you sometimes!', bglimm

Zakim IRC Bot: I don't understand 'I hate you sometimes!', bglimm

14:06:08 <bglimm> Zakim, who is on the phone?

Birte Glimm: Zakim, who is on the phone?

14:06:08 <Zakim> On the phone I see NicoM, LeeF, kasei, Ivan, AndyS, Sandro, SteveH_, bglimm, MattPerry, Souri, AlexPassant, ??P35

Zakim IRC Bot: On the phone I see NicoM, LeeF, kasei, Ivan, AndyS, Sandro, SteveH_, bglimm, MattPerry, Souri, AlexPassant, ??P35

14:06:10 <NicholasH> Zakim, ??P35 is me

Nicholas Humfrey: Zakim, ??P35 is me

14:06:11 <Zakim> +NicholasH; got it

Zakim IRC Bot: +NicholasH; got it

14:06:11 <sandro> bglimm, my guess is the next step may actually be direct VOIP into Zakim.

bglimm, my guess is the next step may actually be direct VOIP into Zakim.

14:06:29 <bglimm> How can I do that?

Birte Glimm: How can I do that?

14:06:41 <AndyS> zakim, mute me

Andy Seaborne: zakim, mute me

14:06:41 <Zakim> AndyS should now be muted

Zakim IRC Bot: AndyS should now be muted

14:07:00 <AndyS> zakim, unmute me

Andy Seaborne: zakim, unmute me

14:07:00 <Zakim> AndyS should no longer be muted

Zakim IRC Bot: AndyS should no longer be muted

14:07:08 <LeeF> RESOLVED: Approve minutes at http://www.w3.org/2009/sparql/meeting/2010-08-24

RESOLVED: Approve minutes at http://www.w3.org/2009/sparql/meeting/2010-08-24

14:07:30 <LeeF> Next regular meeting: 2010-09-07 @ 15:00 UK / 10:00 EDT (scribe: Axel Polleres )

Lee Feigenbaum: Next regular meeting: 2010-09-07 @ 15:00 UK / 10:00 EDT (scribe: Axel Polleres )

14:07:38 <AndyS> Regrets for next week.

Andy Seaborne: Regrets for next week.

14:07:46 <LeeF> Regrets: AxelPolleres, Olivier
14:07:51 <LeeF> Regrets next week: Andy, Ivan

Lee Feigenbaum: Regrets next week: Andy, Ivan

14:07:53 <SteveH_> Regrets for the two weeks following that, if that helps

Steve Harris: Regrets for the two weeks following that, if that helps

14:08:15 <Zakim> +pgearon

Zakim IRC Bot: +pgearon

14:08:39 <LeeF> overview document - http://www.w3.org/2009/sparql/wiki/Overview-Document

Lee Feigenbaum: overview document - http://www.w3.org/2009/sparql/wiki/Overview-Document

14:09:18 <sandro> LeeF: Axel and I will take the lead on the overview, but it's a wiki -- please go ahead and put some time into it if you feel like it.

Lee Feigenbaum: Axel and I will take the lead on the overview, but it's a wiki -- please go ahead and put some time into it if you feel like it.

14:09:57 <sandro> LeeF: My intention is to credit it to the entire wg, not me and Axel.

Lee Feigenbaum: My intention is to credit it to the entire wg, not me and Axel.

14:10:26 <AxelPolleres> My main question would be if it is ok/wanted to go with a simple example/scenario or whether to leave out examples, crediting whole WG is a good idea!

Axel Polleres: My main question would be if it is ok/wanted to go with a simple example/scenario or whether to leave out examples, crediting whole WG is a good idea!

14:10:33 <LeeF> topic: Projecting expressions used for grouping

2. Projecting expressions used for grouping

14:11:50 <sandro> lee: this particular question never had an issue

Lee Feigenbaum: this particular question never had an issue

14:12:02 <sandro> lee: if you group by expression, can you project out that expression?

Lee Feigenbaum: if you group by expression, can you project out that expression?

14:12:28 <sandro> lee: if you group by x+y can you then project out y+x?    can you project out y+x+0?    etc.

Lee Feigenbaum: if you group by x+y can you then project out y+x? can you project out y+x+0? etc.

14:12:49 <sandro> lee: by the time this rule is in effect, the expression has been parsed, etc.

Lee Feigenbaum: by the time this rule is in effect, the expression has been parsed, etc.

14:13:02 <sandro> lee: issue-11 said you can only project out group keys

Lee Feigenbaum: ISSUE-11 said you can only project out group keys

14:13:10 <sandro> lee: issue-?? said ??

Lee Feigenbaum: issue-?? said ??

14:13:27 <sandro> lee: mailing list seemed to reach consensus

Lee Feigenbaum: mailing list seemed to reach consensus

14:13:39 <AxelPolleres> only allowing variables (plus allowing aliasing in the GROUP BY expression seems a  reasonable syntactic sugar for a subselect.

Axel Polleres: only allowing variables (plus allowing aliasing in the GROUP BY expression seems a reasonable syntactic sugar for a subselect.

14:13:53 <LeeF> Axel's email is here: http://lists.w3.org/Archives/Public/public-rdf-dawg/2010JulSep/0300.html

Lee Feigenbaum: Axel's email is here: http://lists.w3.org/Archives/Public/public-rdf-dawg/2010JulSep/0300.html

14:14:30 <LeeF> * Expresssions can be used in GROUP BY

Lee Feigenbaum: * Expresssions can be used in GROUP BY

14:14:42 <LeeF> * Expressions in GROUP BY can be aliases to a variable using 'AS'

Lee Feigenbaum: * Expressions in GROUP BY can be aliases to a variable using 'AS'

14:15:09 <LeeF> * All variables in the projection that are not part of an aggregate, must appear either on their own or as an alias in the GROUP BY

Lee Feigenbaum: * All variables in the projection that are not part of an aggregate, must appear either on their own or as an alias in the GROUP BY

14:15:28 <LeeF> GROUP BY ?x   --allows-->   SELECT ?x (SUM(?y) ...)

Lee Feigenbaum: GROUP BY ?x --allows--> SELECT ?x (SUM(?y) ...)

14:15:48 <LeeF> GROUP BY (?x + ?y AS ?sum)   --allows-->   SELECT ?sum ...

Lee Feigenbaum: GROUP BY (?x + ?y AS ?sum) --allows--> SELECT ?sum ...

14:16:17 <ivan> q+

Ivan Herman: q+

14:16:24 <SteveH_> q+

Steve Harris: q+

14:16:30 <ivan> q-

Ivan Herman: q-

14:16:39 <AxelPolleres> note that the latter may be viewed as syntactiv shortcut for a subselect

Axel Polleres: note that the latter may be viewed as syntactiv shortcut for a subselect

14:16:45 <ivan> ack SteveH_

Ivan Herman: ack SteveH_

14:16:47 <ivan> q+

Ivan Herman: q+

14:17:22 <AxelPolleres> depending on how we proceed on the assignment issue, allowing AS in GROUP By will be expressible then in three different ways:

Axel Polleres: depending on how we proceed on the assignment issue, allowing AS in GROUP By will be expressible then in three different ways:

14:17:42 <AndyS> equiv?: GROUP BY and AS introduces a new variable to the group key :: can only project group key variables.

Andy Seaborne: equiv?: GROUP BY and AS introduces a new variable to the group key :: can only project group key variables.

14:17:46 <sandro> andy: order of applying steps is currently speculative

Steve Harris: order of applying steps is currently speculative

14:17:48 <AxelPolleres> a) by subselect, b) by assignment c) by group by with alias.

Axel Polleres: a) by subselect, b) by assignment c) by group by with alias.

14:17:54 <LeeF> s/andy/steveh
14:17:55 <AndyS> http://www.w3.org/2009/sparql/docs/query-1.1/rq25.xml#sparqlSolutions

Andy Seaborne: http://www.w3.org/2009/sparql/docs/query-1.1/rq25.xml#sparqlSolutions

14:18:01 <LeeF> ack ivan

Lee Feigenbaum: ack ivan

14:18:06 <AxelPolleres> ... not a big problem, but just that we're all aware

Axel Polleres: ... not a big problem, but just that we're all aware

14:18:29 <SteveH_> AndyS, is that new?

Steve Harris: AndyS, is that new?

14:18:34 <sandro> ivan: what is ?y in your first example?

Ivan Herman: what is ?y in your first example?

14:18:44 <AndyS> SteveH_, no

Andy Seaborne: SteveH_, no

14:18:47 <sandro> lee: just to show you can always other variables inside aggregates like SUM

Lee Feigenbaum: just to show you can always other variables inside aggregates like SUM

14:18:56 <SteveH_> AndyS, ok, I just missed it then, sorry!

Steve Harris: AndyS, ok, I just missed it then, sorry!

14:19:12 <sandro> ivan: open issue on assignment stuff ("let"); doesn't that make it possible to simplify GROUP BY ?

Ivan Herman: open issue on assignment stuff ("let"); doesn't that make it possible to simplify GROUP BY ?

14:19:49 <sandro> lee: I haven't thought about that.    But maybe, yes.

Lee Feigenbaum: I haven't thought about that. But maybe, yes.

14:19:50 <AndyS> Corrected recently: http://www.w3.org/2009/sparql/docs/query-1.1/rq25.xml#convertSolMod has always been correct subject to you agreeing - this is my assumption pending aggregate text (summary of a prev discussion IIRC).

Andy Seaborne: Corrected recently: http://www.w3.org/2009/sparql/docs/query-1.1/rq25.xml#convertSolMod has always been correct subject to you agreeing - this is my assumption pending aggregate text (summary of a prev discussion IIRC).

14:20:02 <AndyS> q+

Andy Seaborne: q+

14:20:26 <sandro> ivan: I'm just raising this as a possible idea for simplifying things, so let's not close this before that.

Ivan Herman: I'm just raising this as a possible idea for simplifying things, so let's not close this before that.

14:20:33 <LeeF> ack AndyS

Lee Feigenbaum: ack AndyS

14:20:36 <pgearon> +q

Paula Gearon: +q

14:21:07 <sandro> AndyS: I think Ivan's right, but you need the machinery to make SELECT expressions work, more than assignement, per se.

Andy Seaborne: I think Ivan's right, but you need the machinery to make SELECT expressions work, more than assignement, per se.

14:21:18 <Zakim> +[Garlik]

Zakim IRC Bot: +[Garlik]

14:21:24 <Zakim> -SteveH_

Zakim IRC Bot: -SteveH_

14:21:35 <SteveH_> Zakim, [Garlik] is temporarily me

Steve Harris: Zakim, [Garlik] is temporarily me

14:21:35 <Zakim> +SteveH_; got it

Zakim IRC Bot: +SteveH_; got it

14:21:35 <sandro> lee: Ivan is saying we only allow group by variable, but then you have assignment....

Lee Feigenbaum: Ivan is saying we only allow group by variable, but then you have assignment....

14:21:46 <LeeF> SELECT ?sum ... WHERE { ... ?x ?y ... BIND ( ?sum := ?x + ?y ) } GROUP BY ?sunm

Lee Feigenbaum: SELECT ?sum ... WHERE { ... ?x ?y ... BIND ( ?sum := ?x + ?y ) } GROUP BY ?sunm

14:22:24 <LeeF> ack pgearon

Lee Feigenbaum: ack pgearon

14:22:35 <pgearon> q-

Paula Gearon: q-

14:23:38 <SteveH_> they seems quite closely related, I agree with ivan

Steve Harris: they seems quite closely related, I agree with ivan

14:24:00 <SteveH_> GROUP BY xsd:integer(?x) is what I expect to see most

Steve Harris: GROUP BY xsd:integer(?x) is what I expect to see most

14:24:08 <sandro> AndyS: I think the most common use of expressions is for group-by, not for project.   so that suggests allowing group-by expression.

Andy Seaborne: I think the most common use of expressions is for group-by, not for project. so that suggests allowing group-by expression.

14:24:15 <ivan> q+

Ivan Herman: q+

14:24:21 <LeeF> ack ivan

Lee Feigenbaum: ack ivan

14:24:24 <sandro> AndyS: (just my intuition)

Andy Seaborne: (just my intuition)

14:24:47 <sandro> ivan: In SteveH_'s example, what's the variable I can use in SELECT?

Ivan Herman: In SteveH_'s example, what's the variable I can use in SELECT?

14:24:58 <SteveH_> GROUP BY (xsd:integer(?x) AS ?xint)

Steve Harris: GROUP BY (xsd:integer(?x) AS ?xint)

14:25:16 <sandro> lee: in that example you cannot project it out; if you want to, you'd have to include an alias, as in: GROUP BY (xsd:integer(?x) AS ?xint)

Lee Feigenbaum: in that example you cannot project it out; if you want to, you'd have to include an alias, as in: GROUP BY (xsd:integer(?x) AS ?xint)

14:25:51 <SteveH_> q+

Steve Harris: q+

14:25:55 <LeeF> ack SteveH_

Lee Feigenbaum: ack SteveH_

14:25:56 <sandro> ivan: From the user's point of view, I want the spec as simple as possible.    So if we have a LET, then it seems like we have two different ways to do the same thing.

Ivan Herman: From the user's point of view, I want the spec as simple as possible. So if we have a LET, then it seems like we have two different ways to do the same thing.

14:26:22 <sandro> SteveH_, LET or BIND is already syntactic sugar for sub-select with projection, so I don't think this changes that.

SteveH_, LET or BIND is already syntactic sugar for sub-select with projection, so I don't think this changes that.

14:26:43 <AxelPolleres> both true.

Axel Polleres: both true.

14:27:08 <sandro> SteveH_, LET gives us a second syntax, and that second syntax would be available in both places.

SteveH_, LET gives us a second syntax, and that second syntax would be available in both places.

14:27:17 <sandro> ivan: okay

Ivan Herman: okay

14:27:28 <AxelPolleres> that's why at least I would like to have a consistent syntax for assignment, relying on AS

Axel Polleres: that's why at least I would like to have a consistent syntax for assignment, relying on AS

14:28:04 <sandro> lee: Is the alias created inside the query pattern, or can you just create it in the GROUP BY?

Lee Feigenbaum: Is the alias created inside the query pattern, or can you just create it in the GROUP BY?

14:28:05 <AxelPolleres> not having ":=" in one and "AS" in another shortcut for subselect with Project expr.

Axel Polleres: not having ":=" in one and "AS" in another shortcut for subselect with Project expr.

14:28:08 <AndyS> Or rely on := everywhere

Andy Seaborne: Or rely on := everywhere

14:28:21 <AxelPolleres> also ok for me, if no grammar issues, andy

Axel Polleres: also ok for me, if no grammar issues, andy

14:28:27 <SteveH_> or BIND (?x+?y AS ?xpy)

Steve Harris: or BIND (?x+?y AS ?xpy)

14:28:33 <sandro> Lee: shall we decide this before deciding about LET ?

Lee Feigenbaum: shall we decide this before deciding about LET ?

14:28:58 <LeeF> question to the group: Do you want to wait until we decide about LET to decide about allowing aliased expressions in GROUP BY?

Lee Feigenbaum: question to the group: Do you want to wait until we decide about LET to decide about allowing aliased expressions in GROUP BY?

14:29:05 <SteveH_> yes

Steve Harris: yes

14:29:08 <ivan> yes

Ivan Herman: yes

14:29:16 <AndyS> no

Andy Seaborne: no

14:29:23 <AxelPolleres> 0

Axel Polleres: 0

14:29:33 <bglimm> hm, undecided, tend to yes

Birte Glimm: hm, undecided, tend to yes

14:29:46 <AndyS> to be clear - we can decide the principle now - details later.

Andy Seaborne: to be clear - we can decide the principle now - details later.

14:29:53 <sandro> 0

0

14:29:57 <AndyS> happy to delay

Andy Seaborne: happy to delay

14:30:09 <pgearon> yes to delay

Paula Gearon: yes to delay

14:30:29 <sandro> lee: conclusion: delay it.    but let's assert we have consensus on the principal

Lee Feigenbaum: conclusion: delay it. but let's assert we have consensus on the principal

14:31:47 <Souri> we need to ensure that aliases in GROUP BY and aliases in SELECT do not conflict on alias names

Souripriya Das: we need to ensure that aliases in GROUP BY and aliases in SELECT do not conflict on alias names

14:31:57 <LeeF> PROPOSED: query results can be grouped by expressions, and those expressions can be aliased to a variable which can then be projected -- the mechanism for defining these aliases remains to be determined

PROPOSED: query results can be grouped by expressions, and those expressions can be aliased to a variable which can then be projected -- the mechanism for defining these aliases remains to be determined

14:32:44 <AndyS> souri, yes - current text (SELECT expressions) should already cover that

Andy Seaborne: souri, yes - current text (SELECT expressions) should already cover that

14:33:04 <ivan> +1

Ivan Herman: +1

14:33:07 <AndyS> seconded

Andy Seaborne: seconded

14:33:15 <sandro> +1

+1

14:33:17 <NicoM> +1

Nico Michaelis: +1

14:33:18 <AlexPassant> +1

Alexandre Passant: +1

14:33:19 <bglimm> +1

Birte Glimm: +1

14:33:21 <MattPerry> +1

Matthew Perry: +1

14:33:22 <pgearon> +1

Paula Gearon: +1

14:34:01 <sandro> lee: If you have assignment, you can use it for the grouping.   The syntax isn't necessarily GROUP BY ?x+?y

Lee Feigenbaum: If you have assignment, you can use it for the grouping. The syntax isn't necessarily GROUP BY ?x+?y

14:34:01 <LeeF> PROPOSED: query results can be grouped by expressions, and those expressions can be aliased to a variable which can then be projected -- the mechanism & syntax for defining these aliases remains to be determined

PROPOSED: query results can be grouped by expressions, and those expressions can be aliased to a variable which can then be projected -- the mechanism & syntax for defining these aliases remains to be determined

14:34:12 <SteveH_> +1

Steve Harris: +1

14:34:18 <Souri> +1

Souripriya Das: +1

14:34:21 <MattPerry> +1

Matthew Perry: +1

14:34:24 <LeeF> RESOLVED: query results can be grouped by expressions, and those expressions can be aliased to a variable which can then be projected -- the mechanism & syntax for defining these aliases remains to be determined

RESOLVED: query results can be grouped by expressions, and those expressions can be aliased to a variable which can then be projected -- the mechanism & syntax for defining these aliases remains to be determined

14:34:53 <LeeF> ACTION: Lee to revisit the mechanism for aliasing group key expressions after the group has resolved the assignment issue

ACTION: Lee to revisit the mechanism for aliasing group key expressions after the group has resolved the assignment issue

14:34:54 <trackbot> Created ACTION-303 - Revisit the mechanism for aliasing group key expressions after the group has resolved the assignment issue [on Lee Feigenbaum - due 2010-09-07].

Trackbot IRC Bot: Created ACTION-303 - Revisit the mechanism for aliasing group key expressions after the group has resolved the assignment issue [on Lee Feigenbaum - due 2010-09-07].

14:35:15 <LeeF> topic: SELECT * and grouping

3. SELECT * and grouping

14:35:39 <LeeF> Should SELECT * { ?s ?p ?o } GROUP BY ?s be legal, and if so, what does it mean?

Lee Feigenbaum: Should SELECT * { ?s ?p ?o } GROUP BY ?s be legal, and if so, what does it mean?

14:36:17 <AndyS> no

Andy Seaborne: no

14:36:26 <AndyS> (to Lee's summary)

Andy Seaborne: (to Lee's summary)

14:37:46 <SteveH_> from §10.1 "The syntax SELECT * is an abbreviation that selects all of the variables in a query."

Steve Harris: from §10.1 "The syntax SELECT * is an abbreviation that selects all of the variables in a query."

14:37:47 <AxelPolleres> BTW, some side issues arised in the thread for  mail http://lists.w3.org/Archives/Public/public-rdf-dawg/2010JulSep/0300.html  around SELET *... , 1) SELECT *  expr AS var ... why can't I "extend" SELEC T *   not sure whether to be discussed�, 2) "potentially bound" wording for project expressions 3) SELECT *  wording issue

Axel Polleres: BTW, some side issues arised in the thread for mail http://lists.w3.org/Archives/Public/public-rdf-dawg/2010JulSep/0300.html around SELET *... , 1) SELECT * expr AS var ... why can't I "extend" SELEC T * not sure whether to be discussed�, 2) "potentially bound" wording for project expressions 3) SELECT * wording issue

14:38:07 <sandro> lee: what probably makes sense: star stands for legally-projectable-variables,

Lee Feigenbaum: what probably makes sense: star stands for legally-projectable-variables,

14:38:34 <sandro> lee: because including ?p and ?o -- which can't be projected -- doesn't really make sense.

Lee Feigenbaum: because including ?p and ?o -- which can't be projected -- doesn't really make sense.

14:38:44 <AndyS> That's SPARQL 1.0 text - confusing to quote.

Andy Seaborne: That's SPARQL 1.0 text - confusing to quote.

14:39:17 <AxelPolleres> in Section 17.2.2 : " or all named variables in the query if SELECT *  used"

Axel Polleres: in Section 17.2.2 : " or all named variables in the query if SELECT * used"

14:39:23 <sandro> AndyS: You have to perform the check any way, to make sure people don't use non-key-variables -- a required error check

Andy Seaborne: You have to perform the check any way, to make sure people don't use non-key-variables -- a required error check

14:39:36 <Souri> In Oracle SQL, '*' would be illegal in a GROUP BY query (unless GROUP BY includes all the columns)

Souripriya Das: In Oracle SQL, '*' would be illegal in a GROUP BY query (unless GROUP BY includes all the columns)

14:39:49 <sandro> lee: Does anyone think SELECT * { ?s ?p ?o } GROUP BY ?s should be illegal?

Lee Feigenbaum: Does anyone think SELECT * { ?s ?p ?o } GROUP BY ?s should be illegal?

14:40:08 <AxelPolleres> whereas section 15.1.1 says "The syntax SELECT * is an abbreviation that  selects all of the variables that could be bound in a query."

Axel Polleres: whereas section 15.1.1 says "The syntax SELECT * is an abbreviation that selects all of the variables that could be bound in a query."

14:40:22 <sandro> SteveH_: It seems to me like it should be an error, yes.   to work around the error seems rather convoluted.

Steve Harris: It seems to me like it should be an error, yes. to work around the error seems rather convoluted.

14:40:38 <bglimm> I also think it should be an error

Birte Glimm: I also think it should be an error

14:40:39 <LeeF> AxelPolleres, I think we're trying to decide what this should mean, rather than what the spec says right now :)

Lee Feigenbaum: AxelPolleres, I think we're trying to decide what this should mean, rather than what the spec says right now :)

14:40:44 <sandro> sandro: SQL?

Sandro Hawke: SQL?

14:40:48 <MattPerry> I agree with Steve

Matthew Perry: I agree with Steve

14:40:58 <AxelPolleres> alrighty, just wanted to point to the current wordings :-)

Axel Polleres: alrighty, just wanted to point to the current wordings :-)

14:41:00 <pgearon> While easy enough to implement, I believe it should be an error

Paula Gearon: While easy enough to implement, I believe it should be an error

14:41:19 <sandro> Souri: In oracle, it's an error, "not a GROUP BY expression"

Souripriya Das: In oracle, it's an error, "not a GROUP BY expression"

14:41:59 <sandro> lee: several voices for simpler, less useful meaning of star

Lee Feigenbaum: several voices for simpler, less useful meaning of star

14:42:06 <sandro> AndyS: what if it's nested?

Andy Seaborne: what if it's nested?

14:42:26 <LeeF> SELECT * { ... ?x ... { SELECT ?x WHERE { ... ?x ?y ... } } }

Lee Feigenbaum: SELECT * { ... ?x ... { SELECT ?x WHERE { ... ?x ?y ... } } }

14:42:38 <Souri> create table t1 (a int, b int); select * from t1 group by a; returns error "ORA-00979: not a GROUP BY expression", but select * from t1 group by a,b; is okay

Souripriya Das: create table t1 (a int, b int); select * from t1 group by a; returns error "ORA-00979: not a GROUP BY expression", but select * from t1 group by a,b; is okay

14:42:41 <Zakim> -AlexPassant

Zakim IRC Bot: -AlexPassant

14:43:15 <Zakim> +??P4

Zakim IRC Bot: +??P4

14:43:26 <AlexPassant> Zakim, ?P4 is me

Alexandre Passant: Zakim, ?P4 is me

14:43:26 <Zakim> sorry, AlexPassant, I do not recognize a party named '?P4'

Zakim IRC Bot: sorry, AlexPassant, I do not recognize a party named '?P4'

14:43:29 <AlexPassant> Zakim, ??P4 is me

Alexandre Passant: Zakim, ??P4 is me

14:43:29 <Zakim> +AlexPassant; got it

Zakim IRC Bot: +AlexPassant; got it

14:43:53 <sandro> LeeF: I think people know * stands for all the variables potentially in the solution set before grouping.

Lee Feigenbaum: I think people know * stands for all the variables potentially in the solution set before grouping.

14:43:57 <SteveH_> exactly, all the variables in �the binding set

Steve Harris: exactly, all the variables in �the binding set

14:44:30 <sandro> LeeF: So in the nested case, ?y is hidden

Lee Feigenbaum: So in the nested case, ?y is hidden

14:44:39 <AxelPolleres> but "potentially in the solution" is ambiguous so far, we need a crisp definition

Axel Polleres: but "potentially in the solution" is ambiguous so far, we need a crisp definition

14:45:09 <LeeF> we need consensus on what we want and then a crisp definition :)

Lee Feigenbaum: we need consensus on what we want and then a crisp definition :)

14:45:18 <AxelPolleres> fair enough

Axel Polleres: fair enough

14:45:19 <AxelPolleres> :-)

Axel Polleres: :-)

14:45:30 <sandro> SteveH_: not exactly "binding set" but: all the variables in the thing you're operating on at the moment.

Steve Harris: not exactly "binding set" but: all the variables in the thing you're operating on at the moment.

14:46:01 <sandro> LeeF: AndyS, do you understand this other point of view?

Lee Feigenbaum: AndyS, do you understand this other point of view?

14:46:29 <sandro> AndyS: I think I understand it, but I don't know it well enough to write the definitions.

Andy Seaborne: I think I understand it, but I don't know it well enough to write the definitions.

14:46:45 <sandro> AndyS: Also, it pre-judges the answer on LET

Andy Seaborne: Also, it pre-judges the answer on LET

14:47:11 <sandro> LeeF: We should have a clear proposal before we decide.

Lee Feigenbaum: We should have a clear proposal before we decide.

14:47:12 <AxelPolleres> I'd hope we *can* make a recursive definition of "visible" variables per pattern, which expresses what most people think... but I am afraid it's easier to write down the def than casting the def into a narrative description...

Axel Polleres: I'd hope we *can* make a recursive definition of "visible" variables per pattern, which expresses what most people think... but I am afraid it's easier to write down the def than casting the def into a narrative description...

14:47:18 <SteveH_> I don't see the bearing on "assignment"

Steve Harris: I don't see the bearing on "assignment"

14:47:44 <sandro> LeeF: Anyone willing to take the lead on crafting the definition we can look at?

Lee Feigenbaum: Anyone willing to take the lead on crafting the definition we can look at?

14:47:48 <sandro> AxelPolleres?

AxelPolleres?

14:48:09 <AxelPolleres> Andy, pointer?

Axel Polleres: Andy, pointer?

14:48:24 <AxelPolleres> can try to expand on that, yes

Axel Polleres: can try to expand on that, yes

14:48:25 <AndyS> SteveH_, SELECT * (?a+?b AS ?c)

Andy Seaborne: SteveH_, SELECT * (?a+?b AS ?c)

14:49:03 <LeeF> ACTION: Axel to craft a more rigorous definition of the viewpoint of * as discussed today (* = ?s ?p ?o in 1st example, and * = ?x in 2nd example)

ACTION: Axel to craft a more rigorous definition of the viewpoint of * as discussed today (* = ?s ?p ?o in 1st example, and * = ?x in 2nd example)

14:49:03 <trackbot> Created ACTION-304 - Craft a more rigorous definition of the viewpoint of * as discussed today (* = ?s ?p ?o in 1st example, and * = ?x in 2nd example) [on Axel Polleres - due 2010-09-07].

Trackbot IRC Bot: Created ACTION-304 - Craft a more rigorous definition of the viewpoint of * as discussed today (* = ?s ?p ?o in 1st example, and * = ?x in 2nd example) [on Axel Polleres - due 2010-09-07].

14:49:45 <LeeF> q?

Lee Feigenbaum: q?

14:50:00 <LeeF> topic: function library status

4. function library status

14:51:25 <sandro> lee: last time we went around the group, there was strong support for this.   where were we about minting our own URIs, etc?

Lee Feigenbaum: last time we went around the group, there was strong support for this. where were we about minting our own URIs, etc?

14:51:40 <sandro> ivan: Alternative?

Ivan Herman: Alternative?

14:51:53 <AndyS> q+ to try to remember

Andy Seaborne: q+ to try to remember

14:52:01 <sandro> lee: reuse XPath/XQuery or possibly RIF URIs.

Lee Feigenbaum: reuse XPath/XQuery or possibly RIF URIs.

14:52:05 <LeeF> ack AndyS

Lee Feigenbaum: ack AndyS

14:52:05 <Zakim> AndyS, you wanted to try to remember

Zakim IRC Bot: AndyS, you wanted to try to remember

14:53:00 <sandro> AndyS: I think it was that we can use F+O URIs, because we have the same semantics (unlike RIF).    Where we have new operations (eg constructors) we may want to generate some.

Andy Seaborne: I think it was that we can use F+O URIs, because we have the same semantics (unlike RIF). Where we have new operations (eg constructors) we may want to generate some.

14:53:09 <sandro> AndyS: eg iri(...)

Andy Seaborne: eg iri(...)

14:53:24 <sandro> AndyS: or strlang

Andy Seaborne: or strlang

14:53:58 <sandro> AndyS: They are in query document as built in keywords, no URI for explaining it.

Andy Seaborne: They are in query document as built in keywords, no URI for explaining it.

14:54:43 <sandro> LeeF: so to complete our function library we need to (1) give URIs to our builtins, and (2) pick the subset of F&O we need

Lee Feigenbaum: so to complete our function library we need to (1) give URIs to our builtins, and (2) pick the subset of F&O we need

14:54:56 <sandro> sandro: what about things like "+" that don't have a URI in F&O.

Sandro Hawke: what about things like "+" that don't have a URI in F&O.

14:55:29 <sandro> AndyS: Yeah, op: is not a namespace, technically.

Andy Seaborne: Yeah, op: is not a namespace, technically.

14:55:45 <sandro> AndyS: those are the terms in the language, like "+"

Andy Seaborne: those are the terms in the language, like "+"

14:55:57 <AndyS> http://www.w3.org/2009/sparql/wiki/Feature:FunctionLibrary

Andy Seaborne: http://www.w3.org/2009/sparql/wiki/Feature:FunctionLibrary

14:56:12 <sandro> sandro: I think their reasoning had to do with overloading.

Sandro Hawke: I think their reasoning had to do with overloading.

14:56:26 <sandro> sandro: i can perhaps look up discussion RIF had with them.

Sandro Hawke: i can perhaps look up discussion RIF had with them.

14:56:43 <sandro> AndyS: Also, the op GE which is a combination of GT and EQ.

Andy Seaborne: Also, the op GE which is a combination of GT and EQ.

14:57:02 <sandro> LeeF: This is something we need to figure out....

Lee Feigenbaum: This is something we need to figure out....

14:57:03 <LeeF> http://www.w3.org/2009/sparql/wiki/Feature:FunctionLibrary#XQuery_1.0_and_XPath_2.0_Functions_and_Operators

Lee Feigenbaum: http://www.w3.org/2009/sparql/wiki/Feature:FunctionLibrary#XQuery_1.0_and_XPath_2.0_Functions_and_Operators

14:57:12 <sandro> LeeF: Is that list a good place to start?

Lee Feigenbaum: Is that list a good place to start?

14:57:40 <sandro> AndyS: I made that list by going through and looking for every function I thought was applicable to sparql.

Andy Seaborne: I made that list by going through and looking for every function I thought was applicable to sparql.

14:57:58 <sandro> AndyS: We might be able to get away without defining URIs, although that would be od.

Andy Seaborne: We might be able to get away without defining URIs, although that would be odd.

14:58:03 <sandro> s/od/odd/.
14:58:12 <sandro> AndyS: esp. string operations.

Andy Seaborne: esp. string operations.

14:58:51 <sandro> LeeF: Anyone think we should NOT be working on this>

Lee Feigenbaum: Anyone think we should NOT be working on this>

14:58:55 <sandro> ... silence ...

... silence ...

14:59:05 <sandro> LeeF: e-mail or telecon>

Lee Feigenbaum: e-mail or telecon>

14:59:15 <sandro> AndyS: email now, then telecon.

Andy Seaborne: email now, then telecon.

14:59:31 <sandro> LeeF: I'll send it to mailing list

Lee Feigenbaum: I'll send it to mailing list

14:59:46 <LeeF> ACTION: Lee to start discussion on mailing list about set of functions to include in SPARQL

ACTION: Lee to start discussion on mailing list about set of functions to include in SPARQL

14:59:46 <trackbot> Created ACTION-305 - Start discussion on mailing list about set of functions to include in SPARQL  [on Lee Feigenbaum - due 2010-09-07].

Trackbot IRC Bot: Created ACTION-305 - Start discussion on mailing list about set of functions to include in SPARQL [on Lee Feigenbaum - due 2010-09-07].

15:00:03 <MattPerry> * sorry, got to go -- bye

Matthew Perry: * sorry, got to go -- bye

15:00:15 <sandro> sandro: I wish we could, like RIF, add support for RDF lists by providing a set of list builtins.

Sandro Hawke: I wish we could, like RIF, add support for RDF lists by providing a set of list builtins.

15:00:20 <Zakim> -MattPerry

Zakim IRC Bot: -MattPerry

15:00:28 <sandro> AndyS: it's a nice idea, but the list operators wouldn't preserve order.

Andy Seaborne: it's a nice idea, but the list operators wouldn't preserve order.

15:01:05 <sandro> ADJOURN

ADJOURN

15:01:08 <Zakim> -LeeF

Zakim IRC Bot: -LeeF

15:01:08 <ivan> zakim, drop me

Ivan Herman: zakim, drop me

15:01:09 <Zakim> -AlexPassant

Zakim IRC Bot: -AlexPassant

15:01:09 <Zakim> Ivan is being disconnected

Zakim IRC Bot: Ivan is being disconnected

15:01:09 <Zakim> -Ivan

Zakim IRC Bot: -Ivan

15:01:11 <Zakim> -Souri

Zakim IRC Bot: -Souri

15:01:12 <Zakim> -AndyS

Zakim IRC Bot: -AndyS

15:01:14 <Zakim> -Sandro

Zakim IRC Bot: -Sandro

15:01:16 <Zakim> -SteveH_

Zakim IRC Bot: -SteveH_

15:01:18 <Zakim> -NicoM

Zakim IRC Bot: -NicoM

15:01:20 <Zakim> -kasei

Zakim IRC Bot: -kasei

15:01:20 <NicholasH> Bye!

Nicholas Humfrey: Bye!

15:01:22 <Zakim> -bglimm

Zakim IRC Bot: -bglimm

15:01:24 <Zakim> -NicholasH

Zakim IRC Bot: -NicholasH

15:02:08 <Zakim> -pgearon

Zakim IRC Bot: -pgearon

15:02:09 <Zakim> SW_(SPARQL)10:00AM has ended

Zakim IRC Bot: SW_(SPARQL)10:00AM has ended

15:02:10 <Zakim> Attendees were NicoM, kasei, Ivan, AndyS, LeeF, Sandro, SteveH_, bglimm, MattPerry, Souri, AlexPassant, NicholasH, pgearon

Zakim IRC Bot: Attendees were NicoM, kasei, Ivan, AndyS, LeeF, Sandro, SteveH_, bglimm, MattPerry, Souri, AlexPassant, NicholasH, pgearon

16:20:12 <AndyS> PostgreSQL interprets "SELECT *" as any column in the table expression; table expression includes GROUP BY. // sec 7.3.1 & sec 7.2.

(No events recorded for 78 minutes)

Andy Seaborne: PostgreSQL interprets "SELECT *" as any column in the table expression; table expression includes GROUP BY. // sec 7.3.1 & sec 7.2.

16:22:10 <AndyS> This agrees with SQL 92. sec 7.9 where "T" is a table expression (sec 7.3)

Andy Seaborne: This agrees with SQL 92. sec 7.9 where "T" is a table expression (sec 7.3)

16:23:08 <AndyS> MySQL is a bit unclear to me at the moment and has other uses for * as well.

Andy Seaborne: MySQL is a bit unclear to me at the moment and has other uses for * as well.

16:23:49 <SteveH_> and MySQL doesn't error if you try to project ungrouped columns

Steve Harris: and MySQL doesn't error if you try to project ungrouped columns

16:24:35 <AndyS> MySQL prob does not allow SELECT * over group.  Inferred from an example.

Andy Seaborne: MySQL prob does not allow SELECT * over group. Inferred from an example.

16:24:47 <SteveH_> AndyS, so SQL 92 disagrees with oracle?

Steve Harris: AndyS, so SQL 92 disagrees with oracle?

16:24:49 <AndyS> MySQL promises ordering on GROUP BY doesn't it?

Andy Seaborne: MySQL promises ordering on GROUP BY doesn't it?

16:24:59 <SteveH_> I don't recall

Steve Harris: I don't recall

16:26:32 <AndyS> Yes - Oracle says "Specify the asterisk to select all columns from all tables, views, or materialized views listed in the FROM clause."

Andy Seaborne: Yes - Oracle says "Specify the asterisk to select all columns from all tables, views, or materialized views listed in the FROM clause."

16:26:34 <SteveH_> ah, no, I see, SQL'92 does what Souri said on the call

Steve Harris: ah, no, I see, SQL'92 does what Souri said on the call

16:27:10 <SteveH_> ""*" is equivalent to a <value

Steve Harris: ""*" is equivalent to a <value

16:27:10 <SteveH_>               expression> sequence in which each <value expression> is a

Steve Harris: expression> sequence in which each <value expression> is a

16:27:10 <SteveH_>               <column reference> that references a column of T and each

Steve Harris: <column reference> that references a column of T and each

16:27:11 <SteveH_>               column of T is referenced exactly once. The columns are ref-

Steve Harris: column of T is referenced exactly once. The columns are ref-

16:27:11 <SteveH_>               erenced in the ascending sequence of their ordinal position

Steve Harris: erenced in the ascending sequence of their ordinal position

16:27:12 <SteveH_>               within T.

Steve Harris: within T.

16:27:13 <SteveH_> "

Steve Harris: "

16:27:18 <SteveH_> that matches what Souri said

Steve Harris: that matches what Souri said

16:27:45 <AndyS>  T is a table expression

Andy Seaborne: T is a table expression

16:28:01 <AndyS>  <table expression> ::=

Andy Seaborne: <table expression> ::=

16:28:01 <AndyS>               <from clause>

Andy Seaborne: <from clause>

16:28:01 <AndyS>               [ <where clause> ]

Andy Seaborne: [ <where clause> ]

16:28:01 <AndyS>               [ <group by clause> ]

Andy Seaborne: [ <group by clause> ]

16:28:01 <AndyS>               [ <having clause> ]

Andy Seaborne: [ <having clause> ]

16:28:11 <SteveH_> yes

Steve Harris: yes

16:28:27 <AndyS> so include the group.  That's the key differece.  from vs from+group

Andy Seaborne: so include the group. That's the key differece. from vs from+group

16:28:47 <SteveH_> right, so it tries to include everything

Steve Harris: right, so it tries to include everything

16:29:09 <SteveH_> but it will fail in the common case, as you can't project non-group-byed column�s

Steve Harris: but it will fail in the common case, as you can't project non-group-byed column�s

16:29:13 <AndyS> So SQL92 includes * use over GROUP BY

Andy Seaborne: So SQL92 includes * use over GROUP BY

16:29:32 <SteveH_> yes, but it will generally error, unless you've group by-d everything

Steve Harris: yes, but it will generally error, unless you've group by-d everything

16:29:37 <AndyS> agree with the non-group by.  It's whether SELECT * .. GROUP BY ?x works.

Andy Seaborne: agree with the non-group by. It's whether SELECT * .. GROUP BY ?x works.

16:30:03 <SteveH_> sometimes :)

Steve Harris: sometimes :)

16:30:35 <AndyS> Depends on whether the agree with you.  =>like dinner

Andy Seaborne: Depends on whether the agree with you. =>like dinner

16:30:39 <SteveH_> it seems pretty clear to me   foo (a int, b, int) ... group by a+b, will try to project a, b, a+b

Steve Harris: it seems pretty clear to me foo (a int, b, int) ... group by a+b, will try to project a, b, a+b

16:30:56 <SteveH_> sorry, random clutch of shorthand there

Steve Harris: sorry, random clutch of shorthand there

16:31:37 <AndyS> I think SQL-92 says the GROUP BY exposes the grouping cols - does get me a bit lost here - still tracking.

Andy Seaborne: I think SQL-92 says the GROUP BY exposes the grouping cols - does get me a bit lost here - still tracking.

16:32:17 <SteveH_> AndyS, I agree (probably, I'd have to check a lot more, but it sounds right), but the GROUP BY doesn't hide the non-grouped columns

Steve Harris: AndyS, I agree (probably, I'd have to check a lot more, but it sounds right), but the GROUP BY doesn't hide the non-grouped columns

16:33:37 <AndyS> That's unclear to me currently.

Andy Seaborne: That's unclear to me currently.

16:35:14 <SteveH_> oh, actually §7.7 makes it sound like GROUP BY doesn't add extra colum(s)

Steve Harris: oh, actually §7.7 makes it sound like GROUP BY doesn't add extra colum(s)

16:35:26 <SteveH_> I'd remembered that it did, but I can't find anything saying that

Steve Harris: I'd remembered that it did, but I can't find anything saying that

16:35:48 <SteveH_> it just partitions

Steve Harris: it just partitions

16:37:21 <SteveH_> it's simpler in SQL'92 because it doesn't all GROUP BY expression

Steve Harris: it's simpler in SQL'92 because it doesn't all GROUP BY expression

16:37:24 <SteveH_> *allow

Steve Harris: *allow

16:37:43 <SteveH_> <group by clause> ::=

Steve Harris: <group by clause> ::=

16:37:43 <SteveH_>               GROUP BY <grouping column reference list>

Steve Harris: GROUP BY <grouping column reference list>

16:37:55 <SteveH_> etc.

Steve Harris: etc.

16:38:21 <SteveH_> so you can't "invent" new columns with it anyway

Steve Harris: so you can't "invent" new columns with it anyway

16:38:33 <SteveH_> I don't know what more recent SQL standards say

Steve Harris: I don't know what more recent SQL standards say

16:40:58 <AndyS> Expressions don't change this : it's existing cols (that are hidden by being non-key group'ed)

Andy Seaborne: Expressions don't change this : it's existing cols (that are hidden by being non-key group'ed)

16:43:29 <SteveH_> well, if you don't have expressions it's immaterial, GROUP BY can't add extra columns

Steve Harris: well, if you don't have expressions it's immaterial, GROUP BY can't add extra columns

16:50:07 <AndyS> It does matter in SELECT * GROUP BY -- what does the * mean?  Is it <grouping column reference list>?

(No events recorded for 6 minutes)

Andy Seaborne: It does matter in SELECT * GROUP BY -- what does the * mean? Is it <grouping column reference list>?

17:03:21 <SteveH_> in * each column is only used once, so it doesn't matter

(No events recorded for 13 minutes)

Steve Harris: in * each column is only used once, so it doesn't matter

17:03:40 <SteveH_> why would it be it <grouping column reference list>?

Steve Harris: why would it be it <grouping column reference list>?

17:05:42 <SteveH_> it says explicitly that * is the references in T

Steve Harris: it says explicitly that * is the references in T

17:06:00 <SteveH_> admittedly sql92 is not the clearest of documents :)

Steve Harris: admittedly sql92 is not the clearest of documents :)

17:11:32 <SteveH_> I pasted the relevant test at 17:27, but "each column of T is referenced exactly once", so GROUP BY couldn't change the behaviour of *, even it it did add extra columns, which it doesn't appear that it does

(No events recorded for 5 minutes)

Steve Harris: I pasted the relevant test at 17:27, but "each column of T is referenced exactly once", so GROUP BY couldn't change the behaviour of *, even it it did add extra columns, which it doesn't appear that it does

17:12:37 <SteveH_> there is a difference though, SPARQL uses lexical ordering for *, and SQL uses ordinal, but SPARQL doesn't have an ordinal order, so it's a bit academic

Steve Harris: there is a difference though, SPARQL uses lexical ordering for *, and SQL uses ordinal, but SPARQL doesn't have an ordinal order, so it's a bit academic



Formatted by CommonScribe