Warning:
This wiki has been archived and is now read-only.

Chatlog 2009-11-17

From SPARQL Working Group
Jump to: navigation, search

See original RRSAgent log and preview nicely formatted version.

Please justify/explain all edits to this page, in your "edit summary" text.

<LeeF> Present: LeeF, Alex, Kjetil, Sandro, AndyS, SteveH, kasei, pgearon, tommik, dcharbon2, bglimm, john-l, Chimezie, ivanh, Orri, iv_an_ru, prateek
14:44:05 <trackbot> Meeting: SPARQL Working Group Teleconference
14:44:05 <trackbot>  Date: 17 November 2009
14:44:09 <LeeF> Chair: LeeF
14:44:17 <LeeF> Scribenick: pgearon
14:44:22 <LeeF> Regrets: AxelPolleres, LukeWM
14:44:30 <LeeF> Agenda: http://www.w3.org/2009/sparql/wiki/Agenda-2009-11-17
15:03:54 <pgearon> LeeF: threw about 3 meeting worth of stuff into this week's agenda, so we probably won't get through it all
15:03:55 <KjetilK> Zakim, who is on the phone?
15:04:05 <Zakim> On the phone I see AlexPassant, KjetilK (muted), LeeF, kasei (muted), AndyS, bglimm (muted), pgearon, ivanh, Orri, john-l, SteveH, tommik, dcharbon2
15:04:33 <pgearon> LeeF: Go through topics that don't require discussion first, then others
15:04:48 <LeeF> PROPOSED: Approve minutes at http://www.w3.org/2009/sparql/meeting/2009-11-10 
15:04:49 <Zakim> +Chimezie_Ogbuji
15:05:08 <chimezie> chimezie has joined #sparql
15:05:12 <pgearon> LeeF: no minutes from F2F or from the 27th yet
15:05:19 <LeeF> RESOLVED: Approve minutes at http://www.w3.org/2009/sparql/meeting/2009-11-10 
15:05:26 <Zakim> +Sandro
15:06:08 <kasei> I'm at risk for next week.
15:06:10 <pgearon> LeeF: On ivanh's suggestion, now removed OWL from liaison list
15:07:20 <sandro> http://lists.w3.org/Archives/Public/public-rdf-dawg/2009OctDec/0430.html
15:07:36 <pgearon> bglimm: providing summary of entailment call
15:07:48 <sandro> (the echo is probably bglimm, and will go away when she mutes again, I bet.)
15:07:49 <pgearon> bglimm: started on ISSUE-28, entailment update
15:08:17 <pgearon> bglimm: ISSUE-34 interaction with blank nodes, now closed
15:08:47 <pgearon> bglimm: ISSUE-42 RDFS entailment with inconsistency
15:09:04 <pgearon> bglimm: agreed with current implementations raising errors
15:09:09 <LeeF> bglimm: systems may/should raise an error for inconsistency
15:09:32 <pgearon> bglimm: ISSUE-47 (?) entailment on graphs or endpoints
15:10:18 <pgearon> bglimm: need more info to work with RIF
15:10:40 <Zakim> + +0383306aaaa
15:10:51 <sandro> (um, that's not how I recall the RIF issue.    The 'need another editor' was specifically about non-mon logics, which RIF includes.   But that doesn't apply for RIF core or rif BLD.)
15:11:05 <pgearon> bglimm: currently trying to come up with a proposal on entailment for annotations
15:11:07 <iv_an_ru> Zakim, +0383 is me
15:11:07 <Zakim> +iv_an_ru; got it
15:11:14 <bglimm> Zakim, mute me
15:11:14 <Zakim> bglimm should now be muted
15:11:28 <iv_an_ru> (finally connected :)
15:11:50 <kasei> pgearon, s/47/43/
15:11:55 <bglimm> Sandro, I always said, even before that telecon that I don't feel confident about RIF and either Axel helps me with that or we need another co-editor
15:11:57 <LeeF> topic: query issues from f2f
15:11:59 <LeeF> PROPOSED: Resolve ISSUE-11 by noting that it's invalid to project variables/functions on variables that are not included in the GROUP BY clause and also nothing that what this means in practice depends on ISSUE-41 
15:13:29 <LeeF> Orri: seconded
15:13:34 <SteveH_> included isn't enough
15:13:34 <bglimm> Axel wanted to help with RIF core, but I'm not sure whether he will find the time or not. 
15:14:02 <SteveH_> e.g. GROUP BY ?x+?Y
15:14:11 <LeeF> PROPOSED: Resolve ISSUE-11 by noting that it's invalid to project variables/functions on variables that are not exactly the GROUP BY clause and also nothing that what this means in practice depends on ISSUE-41 
15:14:41 <LeeF> RESOLVED: Resolve ISSUE-11 by noting that it's invalid to project variables/functions on variables that are not exactly the GROUP BY clause and also nothing that what this means in practice depends on ISSUE-41 
15:14:49 <LeeF> no abstentions or objections
15:14:51 <Prateek> Prateek has joined #sparql
15:14:55 <LeeF> trackbot, close ISSUE-11
15:14:56 <trackbot> ISSUE-11 Implicit vs explicit GROUPing closed
15:15:13 <Zakim> +Prateek
15:15:16 <LeeF> PROPOSED: Asterisk is a valid argument to COUNT, but not to other aggregate functions, and not to custom aggregates
15:15:20 <AndyS> I register agrement with Steve on the imprecise wording 
15:15:24 <AndyS> (prev point)
15:15:39 <KjetilK> +1
15:15:42 <pgearon> seconded
15:15:42 <SteveH_> +1
15:15:44 <ivanh> +1
15:15:49 <iv_an_ru> +1
15:15:51 <LeeF> RESOLVED: Asterisk is a valid argument to COUNT, but not to other aggregate functions, and not to custom aggregates, no abstentions or objections
15:15:52 <bglimm> +1
15:16:37 <LeeF> PROPOSED: SPARQL 1.1 does not inlude any subqueries other than sub-selects in graph patterns, noting that the question of an EXISTS FILTER form is still pending 
15:16:44 <pgearon> LeeF: holding off on third item, due to need for discussion on unbound variables
15:17:17 <SteveH_> +1
15:17:21 <AndyS> abstain
15:17:22 <pgearon> +1
15:17:29 <iv_an_ru> +0.001
15:17:31 <chimezie> abstain
15:17:35 <bglimm> +1
15:17:36 <john-l> abstain
15:17:36 <LeeF> RESOLVED: SPARQL 1.1 does not inlude any subqueries other than sub-selects in graph patterns, noting that the question of an EXISTS FILTER form is still pending, AndyS, chimezie, pgearon abstaining
15:17:37 <tommik> +1
15:17:40 <pgearon> actually, I'm going to change to an abstain (sorry)
15:18:28 <AndyS> q+
15:18:40 <pgearon> Orri: concern about not having an option for EXISTS
15:18:46 <iv_an_ru> Yes, exists can be rewritten as OPTIONAL
15:19:00 <LeeF> ack AndyS
15:19:11 <iv_an_ru> but existing SQL optimizers tend to disagree with me :)
15:19:27 <pgearon> AndyS: orri was describing a NOT EXISTS or EXISTS outside of a filter
15:19:37 <SteveH_> { EXISTS } UNION { EXISTS }
15:20:00 <AndyS> Not quite the same.
15:20:02 <LeeF> zakim, who's on the phone?
15:20:02 <Zakim> On the phone I see AlexPassant, KjetilK (muted), LeeF, kasei (muted), AndyS, bglimm (muted), pgearon, ivanh, Orri, john-l, SteveH, tommik, dcharbon2, Chimezie_Ogbuji, Sandro,
15:20:05 <Zakim> ... iv_an_ru, Prateek
15:20:05 <SteveH_> no, but similar
15:20:37 <pgearon> LeeF: asking abstainers what their concerns are
15:22:22 <chimezie> Basically, there is a use case where you want to capture an exclusion criteria (match X but not Y), where Y is a Group Graph Pattern itself
15:22:38 <chimezie> I'm not 100% if that scenario is covered by the EXISTS FILTER form alternative
15:23:45 <LeeF> subtopic: name for coalesce
15:24:10 <iv_an_ru> One of bad cases is an expression like (A or exists (X) or exists (Y) or exists (Z)) --- too much joins if turned into OPTIONALs.
15:24:26 <pgearon> LeeF: coalesce is an SQL term that returns the first value that evaluates as non-null
15:24:58 <pgearon> LeeF: in SPARQL we are looking at returning the first value that doesn't result in an unbound or a type error
15:25:22 <SteveH_> not just SQL it's used in general computer science
15:25:31 <pgearon> LeeF: proposed names: coalesce, first_bound, left_most, try, others....
15:25:41 <SteveH_> q+
15:25:45 <LeeF> ack SteveH_
15:25:51 <AndyS> TRY > FIRST > LEFTMOST > 0 > others
15:26:22 <iv_an_ru> Will I explain any other name as "X is an other name for COALESCE" ? :)
15:26:22 <KjetilK> q+
15:26:27 <AlexPassant> its however obscure for non english speakers / non-sql people
15:26:33 <LeeF> ack KjetilK
15:26:49 <SteveH_> AlexPassant, and people who don't know the computer science meaning
15:27:08 <chimezie> I would almost suggest REDUCE via abuse of notation, but I don't want to hamper progress
15:27:13 <pgearon> kjetil: aren't we using a different meaning to compsci and SQL?
15:27:21 <SteveH_> no, same meaning
15:27:31 <SteveH_> http://en.wikipedia.org/wiki/Null_coalescing_operator
15:27:33 <AndyS> Different to SQL(errors)
15:27:58 <LeeF> strawpoll: COALESCE 
15:28:02 <SteveH_> +1
15:28:04 <john-l> +1
15:28:06 <KjetilK> 0
15:28:06 <chimezie> +1
15:28:06 <ivanh> 0
15:28:07 <sandro> 0
15:28:08 <davidcharboneau_> 0
15:28:09 <AlexPassant> 0
15:28:09 <kasei> 0
15:28:10 <LeeF> +1
15:28:10 <bglimm> +1
15:28:10 <Prateek> 0
15:28:10 <iv_an_ru> +1
15:28:11 <tommik> 0
15:28:15 <AndyS> 0
15:28:15 <pgearon> 0
15:28:18 <LeeF> Orri: +1
15:28:26 <pgearon> I note that the title of that Wikipedia article is "Null" coalescing article
15:28:38 <LeeF> strawpoll: TRY
15:28:45 <tommik> 0
15:28:45 <SteveH_> 0
15:28:46 <KjetilK> +1
15:28:47 <john-l> 0
15:28:47 <pgearon> +1
15:28:48 <iv_an_ru> -1
15:28:48 <bglimm> 0
15:28:49 <sandro> 0
15:28:51 <AndyS> +1
15:28:51 <ivanh> 1
15:28:52 <chimezie> 0
15:28:52 <LeeF> 0
15:28:53 <AlexPassant> 0
15:28:53 <davidcharboneau_> 0
15:28:55 <kasei> -1
15:29:08 <LeeF> strawpoll: FIRST_BOUND
15:29:08 <Prateek> 0
15:29:11 <KjetilK> +1
15:29:12 <tommik> 0
15:29:12 <SteveH_> -1
15:29:12 <pgearon> -1
15:29:12 <john-l> +1
15:29:13 <AlexPassant> +1
15:29:14 <davidcharboneau_> +1
15:29:14 <bglimm> 0
15:29:15 <AndyS> -1
15:29:17 <chimezie> +1
15:29:19 <LeeF> +1
15:29:20 <sandro> 0
15:29:20 <ivanh> 1
15:29:22 <iv_an_ru> TRY without a CATCH will damage my C++ed brains.
15:29:30 <iv_an_ru> -1
15:29:50 <sandro> first_value?
15:30:07 <bglimm> yes
15:30:11 <ivanh> sorry...
15:30:12 <iv_an_ru> BTW, do we support '_' in other "words", like names?
15:30:19 <LeeF> strawpoll: leftmost
15:30:25 <SteveH_> -1
15:30:25 <pgearon> -1
15:30:27 <kasei> -1
15:30:27 <john-l> 0
15:30:27 <ivanh> 0
15:30:28 <tommik> 0
15:30:28 <AndyS> 0
15:30:28 <AlexPassant> 0
15:30:28 <chimezie> -1
15:30:29 <sandro> -1
15:30:31 <KjetilK> 0
15:30:32 <LeeF> 0
15:30:35 <Prateek> 0
15:30:39 <davidcharboneau_> -1
15:30:40 <iv_an_ru> -1, LEFTMOST is -Inf :)
15:30:41 <bglimm> 0
15:30:51 <sandro> (I like FIRSTVALUE, my self.)
15:31:24 <LeeF> Note general consensus around "COALESCE"
15:31:44 <pgearon> LeeF: Do projected expressions require an alias?
15:32:02 <LeeF> (?x+?y)
15:32:19 <pgearon> LeeF: F2F came to mild consensus that aliases would be required
15:32:26 <SteveH_> q+
15:32:29 <LeeF> ack SteveH_
15:32:38 <pgearon> LeeF: thinks AndyS mildly disagreed
15:32:45 <kasei> I'm with AndyS against it.
15:33:03 <SteveH_> SELECT (1+2)
15:33:12 <AndyS>  Example: SELECT count(*) { ... }
15:33:13 <pgearon> SteveH_: thinks that it might be better to put it off to the next SPARQL, rather than allowing it now and needing to remove it later
15:33:37 <chimezie> but don't you *have* to bind it to a variable to be in a solution set?
15:33:39 <pgearon> (referring to unaliased projections)
15:33:41 <chimezie> or am I missing something
15:33:47 <SteveH_> ?`(1+2)` is not going to be fun :)
15:34:10 <LeeF> strawpoll on requiring aliases for expressions - please vote "required", "not required", or "don't care"
15:34:15 <pgearon> many APIs allow column selection by index, not just by name
15:34:23 <davidcharboneau_> required
15:34:24 <SteveH_> required
15:34:25 <chimezie> required
15:34:25 <kasei> not required
15:34:25 <LeeF> Orri: required
15:34:26 <AndyS> not required
15:34:26 <iv_an_ru> required
15:34:28 <pgearon> required
15:34:31 <ivanh> required
15:34:32 <LeeF> don't care
15:34:35 <tommik> don't care
15:34:35 <bglimm> don't care
15:34:39 <john-l> don't care
15:34:39 <Prateek> don't care
15:34:48 <KjetilK> don't care
15:34:59 <iv_an_ru> BTW "AS" between expressions helps to localize syntax errors
15:35:09 <pgearon> I think it would be a valid extension to not require it, wouldn't it?
15:35:14 <LeeF> Notes definite preference for requiring aliases
15:35:29 <LeeF> subtopic: HAVING vs. FILTER
15:36:52 <pgearon> LeeF: in SPARQL HAVING must happen after the main query pattern, so we don't need a separate name like SQL needs
15:37:16 <pgearon> LeeF: so do we copy SQL and use SQL's HAVING, or re-use FILTER?
15:37:32 <SteveH_> WHERE { ... } GROUP BY ?x FILTER( SUM(?y) > 2)
15:37:37 <pgearon> AndyS: must appear after the GROUP BY
15:37:41 <chimezie> Re-using FILTER seems intuitive to me, especially since its use with aggregates clearly delineates the 2 use cases
15:37:45 <iv_an_ru> I've implemented HAVING yesterday in Virtuoso. Convenient...
15:37:51 <AndyS> {... } GROUP BY - HAVING } ...
15:38:28 <LeeF> strawpoll: HAVING vs. FILTER vs. don't care
15:38:29 <pgearon> HAVING
15:38:30 <AlexPassant> FILTER
15:38:31 <kasei> filter
15:38:33 <bglimm> HAVING
15:38:35 <iv_an_ru> HAVING
15:38:36 <chimezie> FILTER
15:38:37 <ivanh> don't care
15:38:37 <SteveH_> don't care
15:38:38 <davidcharboneau_> don't care
15:38:39 <tommik> don't care
15:38:39 <LeeF> don't care
15:38:45 <john-l> don't care
15:38:47 <KjetilK> don't care
15:38:48 <AndyS> HAVING but too early to decide (cutom aggregates)
15:38:49 <Prateek>  don't care
15:39:01 <pgearon> wow, close one
15:39:03 <AndyS> s/cutom/custom/
15:39:05 <iv_an_ru> One more keyword --- one less redundand flexibility fo making errors.
15:39:12 <SteveH_> leave it to editors?
15:39:49 <LeeF> Leave it up to the editors.
15:40:11 <pgearon> LeeF: commas in SELECT list?
15:40:15 <LeeF> (expr AS ?var)
15:41:20 <AndyS> Optional commas, please
15:41:26 <iv_an_ru> We have now optional commas in select lists
15:41:32 <SteveH_> Optional commas is the worst possible outcome
15:41:33 <pgearon> do we?
15:41:34 <SteveH_> IMHO
15:41:39 <LeeF> strawpoll: commas required, brackets required, either allowed, don't care
15:42:32 <iv_an_ru> we have required (...):  (expr) as ?var  but optional commas
15:42:49 <pgearon> AndyS: concern that commas and brackets are distinct and shouldn't be voted on as one vs the other
15:43:19 <iv_an_ru> It's easier to close compiler's eyes on extra commas than to explain the syntax to every SQL-minded developer
15:43:42 <AndyS> Agree with iv_an_ru
15:44:12 <SteveH_> letter them?
15:44:16 <iv_an_ru> Maybe it'ssafer to permit either a list without commas or a list with all commas but not a list with few optional commas.
15:44:22 <LeeF> strawpoll: 1. commas required, 2. (expr AS ?var) required, 3. (expr) AS ?var required. 2 + optional commas, 3 + optional commas
15:45:02 <kasei> 2
15:45:04 <ivanh> 2
15:45:04 <chimezie> 3
15:45:04 <SteveH_> 2
15:45:05 <AlexPassant> 3
15:45:07 <davidcharboneau_> 3
15:45:09 <AndyS> 2+opt commas or 2
15:45:12 <LeeF> Orri: 3 + optional commas
15:45:12 <iv_an_ru> 3+ optional commas
15:45:14 <LeeF> 2
15:45:17 <bglimm> 3+ optional commas (but no strong preference)
15:45:19 <john-l> 3
15:45:23 <KjetilK> 2
15:45:24 <pgearon> 2 + optional commas
15:45:25 <tommik> 2
15:45:32 <Prateek> 2
15:45:59 <LeeF> Notes overall group preference for 2. (expr AS ?var)
15:46:57 <pgearon> LeeF: should now discuss aggregates and mixed data types
15:47:22 <pgearon> LeeF: what to do with MIN with strings, integers, dates, etc
15:48:03 <pgearon> LeeF: F2F also discussed SUM, AVG, etc. Thought to use semantics of "+"
15:48:46 <pgearon> LeeF: this propagates errors. Casts and COALESCE could overcome some of this. But AndyS showed that it isn't quite the same behaviour
15:49:35 <SteveH_> SPARQL doesn't have a NULL technically speaking
15:49:56 <pgearon> orri: why not skip over nulls for sum (skip over errors and unbound)
15:50:47 <SteveH_> +1 to testcases and usecases
15:51:02 <pgearon> AndyS: want to check common cases. Complicated cases are good for testing, but not needed so much for designing
15:51:35 <SteveH_> we haven't looked at any complicated cases yet
15:52:33 <pgearon> AndyS: thinks the common case is a 1-level query and what ends up in the result set. Wants to get down to use cases to make sure the group is all on the same page
15:53:01 <pgearon> LeeF: need to define semantics
15:53:20 <pgearon> AndyS: want to define semantics, but don't let corner cases drive the semantics
15:54:24 <Zakim> -Sandro
15:54:34 <KjetilK> This is fixed, and hard to do, but perhaps relevant: http://lists.w3.org/Archives/Public/public-lod/2009Jun/0272.html ?
15:55:23 <pgearon> LeeF: thinks that this isn't an issue that we'll progress on in a teleconference
15:55:24 <KjetilK> q+
15:55:29 <KjetilK> ack me
15:55:57 <iv_an_ru> TPC-H is a good use case ;)
15:56:22 <SteveH_> -1 to TPC-H as a usecase :)
15:56:31 <AndyS> q+
15:56:36 <KjetilK> Zakim, mute me
15:56:36 <Zakim> KjetilK should now be muted
15:56:38 <LeeF> ack AndyS
15:57:18 <SteveH_> yes, agreed with Andy
15:57:26 <pgearon> AndyS: can we hear an example of problem?
15:57:27 <SteveH_> should look harder at what to do with errors
15:59:22 <kasei> i'll have some service description stuff. will send an email about it this week.
# SPECIAL MARKER FOR CHATSYNC.  DO NOT EDIT THIS LINE OR BELOW.  SRCLINESUSED=00000429