14:44:00 RRSAgent has joined #sparql 14:44:00 logging to http://www.w3.org/2009/11/17-sparql-irc 14:44:02 RRSAgent, make logs world 14:44:02 Zakim has joined #sparql 14:44:04 Zakim, this will be 77277 14:44:04 ok, trackbot; I see SW_(SPARQL)10:00AM scheduled to start in 16 minutes 14:44:05 Meeting: SPARQL Working Group Teleconference 14:44:05 Date: 17 November 2009 14:44:06 zakim, this will be SPARQL 14:44:06 ok, LeeF; I see SW_(SPARQL)10:00AM scheduled to start in 16 minutes 14:44:09 Chair: LeeF 14:44:17 Scribenick: pgearon 14:44:22 Regrets: AxelPolleres, LukeWM 14:44:30 Agenda: http://www.w3.org/2009/sparql/wiki/Agenda-2009-11-17 14:44:40 LeeF has changed the topic to: Agenda - http://www.w3.org/2009/sparql/wiki/Agenda-2009-11-17 14:57:04 SW_(SPARQL)10:00AM has now started 14:57:10 pgearon_ has joined #sparql 14:57:11 +??P5 14:57:16 Zakim, ??P5 is me 14:57:16 +AlexPassant; got it 14:57:42 +??P7 14:57:49 Zakim, ??P7 is me 14:57:49 +KjetilK; got it 14:57:50 +LeeF 14:57:57 hi 14:58:06 Zakim, mute me 14:58:06 KjetilK should now be muted 14:58:31 Zakim, unmute me 14:58:31 KjetilK should no longer be muted 14:58:38 john-l has joined #sparql 14:58:42 +kasei 14:58:51 +??P12 14:58:56 +bglimm 14:59:06 Zakim, mute me 14:59:06 bglimm should now be muted 14:59:15 zakim, who is on the phone? 14:59:15 On the phone I see AlexPassant, KjetilK, LeeF, kasei, ??P12, bglimm (muted) 14:59:29 zakim, ??P12 is me (probably) 14:59:29 I don't understand '??P12 is me (probably)', AndyS 14:59:34 I'm dialing in now 14:59:40 zakim, ??P12 is me 14:59:41 +AndyS; got it 14:59:51 Zakim, mute me 14:59:51 kasei should now be muted 15:00:11 +pgearon 15:00:17 zakim, who's on the phone? 15:00:17 On the phone I see AlexPassant, KjetilK, LeeF, kasei (muted), AndyS, bglimm (muted), pgearon 15:00:25 zakim, dial ivan-voip 15:00:26 ok, ivan; the call is being made 15:00:32 +Ivan 15:00:54 +??P20 15:01:08 tommik has joined #sparql 15:01:18 zakim, ??P20 is Orri 15:01:21 +john-l 15:01:31 davidcharboneau_ has joined #sparql 15:01:32 +Orri; got it 15:01:45 +??P30 15:01:47 Zakim, mute me 15:01:51 Zakim, ??P30 is SteveH 15:01:57 zakim, who's on the phone? 15:02:08 KjetilK should now be muted 15:02:18 +SteveH; got it 15:02:25 zakim, ??P30 is me 15:02:28 On the phone I see AlexPassant, KjetilK (muted), LeeF, kasei (muted), AndyS, bglimm (muted), pgearon, Ivan, Orri, john-l, SteveH 15:02:33 +tommik 15:02:51 tommik, SteveH claimed to be ??P30 15:02:53 I already had ??P30 as SteveH, tommik 15:03:30 +dcharbon2 15:03:54 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 Zakim, who is on the phone? 15:04:05 On the phone I see AlexPassant, KjetilK (muted), LeeF, kasei (muted), AndyS, bglimm (muted), pgearon, Ivan, Orri, john-l, SteveH, tommik, dcharbon2 15:04:33 LeeF: Go through topics that don't require discussion first, then others 15:04:48 PROPOSED: Approve minutes at http://www.w3.org/2009/sparql/meeting/2009-11-10 15:04:49 +Chimezie_Ogbuji 15:05:08 chimezie has joined #sparql 15:05:12 LeeF: no minutes from F2F or from the 27th yet 15:05:19 RESOLVED: Approve minutes at http://www.w3.org/2009/sparql/meeting/2009-11-10 15:05:26 +Sandro 15:06:08 I'm at risk for next week. 15:06:10 LeeF: On Ivan's suggestion, now removed OWL from liaison list 15:06:56 Zakim, unmue me 15:06:56 I don't understand 'unmue me', bglimm 15:07:01 Zakim, unmute me 15:07:03 bglimm should no longer be muted 15:07:20 http://lists.w3.org/Archives/Public/public-rdf-dawg/2009OctDec/0430.html 15:07:24 echo? 15:07:36 bglimm: providing summary of entailment call 15:07:48 (the echo is probably bglimm, and will go away when she mutes again, I bet.) 15:07:49 bglimm: started on ISSUE-28, entailment update 15:08:17 bglimm: ISSUE-34 interaction with blank nodes, now closed 15:08:47 bglimm: ISSUE-42 RDFS entailment with inconsistency 15:09:04 bglimm: agreed with current implementations raising errors 15:09:09 bglimm: systems may/should raise an error for inconsistency 15:09:32 bglimm: ISSUE-47 (?) entailment on graphs or endpoints 15:10:18 bglimm: need more info to work with RIF 15:10:40 + +0383306aaaa 15:10:51 (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 bglimm: currently trying to come up with a proposal on entailment for annotations 15:11:07 Zakim, +0383 is me 15:11:07 +iv_an_ru; got it 15:11:14 Zakim, mute me 15:11:14 bglimm should now be muted 15:11:28 (finally connected :) 15:11:50 pgearon, s/47/43/ 15:11:55 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 topic: query issues from f2f 15:11:59 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 Orri: seconded 15:13:34 included isn't enough 15:13:34 Axel wanted to help with RIF core, but I'm not sure whether he will find the time or not. 15:14:02 e.g. GROUP BY ?x+?Y 15:14:11 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 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 no abstentions or objections 15:14:51 Prateek has joined #sparql 15:14:55 trackbot, close ISSUE-11 15:14:56 ISSUE-11 Implicit vs explicit GROUPing closed 15:15:13 +Prateek 15:15:16 PROPOSED: Asterisk is a valid argument to COUNT, but not to other aggregate functions, and not to custom aggregates 15:15:20 I register agrement with Steve on the imprecise wording 15:15:24 (prev point) 15:15:39 +1 15:15:42 seconded 15:15:42 +1 15:15:44 +1 15:15:49 +1 15:15:51 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 +1 15:16:37 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 LeeF: holding off on third item, due to need for discussion on unbound variables 15:17:17 +1 15:17:21 abstain 15:17:22 +1 15:17:29 +0.001 15:17:31 abstain 15:17:35 +1 15:17:36 abstain 15:17:36 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 abstaining 15:17:37 +1 15:17:40 actually, I'm going to change to an abstain (sorry) 15:18:28 q+ 15:18:40 concern about not having an option for EXISTS 15:18:46 Yes, exists can be rewritten as OPTIONAL 15:19:00 ack AndyS 15:19:11 but existing SQL optimizers tend to disagree with me :) 15:19:16 s/concern about/Orri: concern about/ 15:19:27 AndyS: orri was describing a NOT EXISTS or EXISTS outside of a filter 15:19:37 { EXISTS } UNION { EXISTS } 15:20:00 Not quite the same. 15:20:02 zakim, who's on the phone? 15:20:02 On the phone I see AlexPassant, KjetilK (muted), LeeF, kasei (muted), AndyS, bglimm (muted), pgearon, Ivan, Orri, john-l, SteveH, tommik, dcharbon2, Chimezie_Ogbuji, Sandro, 15:20:05 ... iv_an_ru, Prateek 15:20:05 no, but similar 15:20:37 LeeF: asking abstainers what their problem is 15:22:22 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 I'm not 100% if that scenario is covered by the EXISTS FILTER form alternative 15:23:45 subtopic: name for coalesce 15:24:10 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 LeeF: coalesce is an SQL term that returns the first value that evaluates as non-null 15:24:58 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 not just SQL it's used in general computer science 15:25:31 LeeF: proposed names: coalesce, first_bound, left_most, try, others.... 15:25:41 q+ 15:25:45 ack SteveH_ 15:25:51 TRY > FIRST > LEFTMOST > 0 > others 15:26:22 Will I explain any other name as "X is an other name for COALESCE" ? :) 15:26:22 q+ 15:26:27 its however obscure for non english speakers / non-sql people 15:26:33 ack KjetilK 15:26:49 AlexPassant, and people who don't know the computer science meaning 15:27:08 I would almost suggest REDUCE via abuse of notation, but I don't want to hamper progress 15:27:13 (voice?): aren't we using a different meaning to compsci and SQL? 15:27:21 no, same meaning 15:27:23 s/voice?/kjetil 15:27:31 Zakim, mute me 15:27:31 http://en.wikipedia.org/wiki/Null_coalescing_operator 15:27:31 KjetilK should now be muted 15:27:33 Different to SQL(errors) 15:27:58 strawpoll: COALESCE 15:28:02 +1 15:28:04 +1 15:28:06 0 15:28:06 +1 15:28:06 0 15:28:07 0 15:28:08 0 15:28:09 0 15:28:09 0 15:28:10 +1 15:28:10 +1 15:28:10 0 15:28:10 +1 15:28:11 0 15:28:15 0 15:28:15 0 15:28:18 Orri: +1 15:28:26 I note that the title of that Wikipedia article is "Null" coalescing article 15:28:38 strawpoll: TRY 15:28:45 0 15:28:45 0 15:28:46 +1 15:28:47 0 15:28:47 +1 15:28:48 -1 15:28:48 0 15:28:49 0 15:28:51 +1 15:28:51 1 15:28:52 0 15:28:52 0 15:28:53 0 15:28:53 0 15:28:55 -1 15:29:08 strawpoll: FIRST_BOUND 15:29:08 0 15:29:11 +1 15:29:12 0 15:29:12 0 15:29:12 -1 15:29:12 +1 15:29:13 +1 15:29:14 +1 15:29:14 0 15:29:15 -1 15:29:17 +1 15:29:19 +1 15:29:20 0 15:29:20 1 15:29:22 TRY without a CATCH will damage my C++ed brains. 15:29:23 correction: -1 15:29:30 -1 15:29:37 zakim, who is talking? 15:29:47 sandro, listening for 10 seconds I heard sound from the following: LeeF (73%), AndyS (5%), Orri (5%), Ivan (85%), dcharbon2 (9%), Chimezie_Ogbuji (5%) 15:29:49 zakim, mute me 15:29:50 first_value? 15:29:51 sorry, davidcharboneau_, I do not know which phone connection belongs to you 15:30:02 zakim, mute ivan 15:30:02 Ivan should now be muted 15:30:07 yes 15:30:11 sorry... 15:30:12 BTW, do we support '_' in other "words", like names? 15:30:19 strawpoll: leftmost 15:30:25 -1 15:30:25 -1 15:30:27 -1 15:30:27 0 15:30:27 0 15:30:28 0 15:30:28 0 15:30:28 0 15:30:28 -1 15:30:29 -1 15:30:31 0 15:30:32 0 15:30:35 0 15:30:39 -1 15:30:40 -1, LEFTMOST is -Inf :) 15:30:41 0 15:30:51 (I like FIRSTVALUE, my self.) 15:31:24 Note general consensus around "COALESCE" 15:31:44 LeeF: Do projected expressions require an alias? 15:32:02 (?x+?y) 15:32:03 Zakim, mute me 15:32:03 Chimezie_Ogbuji should now be muted 15:32:19 LeeF: F2F came to mild consensus that aliases would be required 15:32:26 q+ 15:32:29 ack SteveH_ 15:32:38 LeeF: thinks AndyS mildly disagreed 15:32:45 I'm with AndyS against it. 15:33:03 SELECT (1+2) 15:33:12 Example: SELECT count(*) { ... } 15:33:13 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 but don't you *have* to bind it to a variable to be in a solution set? 15:33:39 (referring to unaliased projections) 15:33:41 or am I missing something 15:33:47 ?`(1+2)` is not going to be fun :) 15:34:10 strawpoll on requiring aliases for expressions - please vote "required", "not required", or "don't care" 15:34:15 many APIs allow column selection by index, not just by name 15:34:23 required 15:34:24 required 15:34:25 required 15:34:25 not required 15:34:25 Orri: required 15:34:26 not required 15:34:26 required 15:34:28 required 15:34:31 required 15:34:32 don't care 15:34:35 don't care 15:34:35 don't care 15:34:39 don't care 15:34:39 don't care 15:34:48 don't care 15:34:59 BTW "AS" between expressions helps to localize syntax errors 15:35:09 I think it would be a valid extension to not require it, wouldn't it? 15:35:14 Notes definite preference for requiring aliases 15:35:29 subtopic: HAVING vs. FILTER 15:36:52 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 LeeF: so do we copy SQL and use SQL's HAVING, or re-use FILTER? 15:37:32 WHERE { ... } GROUP BY ?x FILTER( SUM(?y) > 2) 15:37:37 AndyS: must appear after the GROUP BY 15:37:41 Re-using FILTER seems intuitive to me, especially since its use with aggregates clearly delineates the 2 use cases 15:37:45 I've implemented HAVING yesterday in Virtuoso. Convenient... 15:37:51 {... } GROUP BY - HAVING } ... 15:38:28 strawpoll: HAVING vs. FILTER vs. don't care 15:38:29 HAVING 15:38:30 FILTER 15:38:31 filter 15:38:33 HAVING 15:38:35 HAVING 15:38:36 FILTER 15:38:37 don't care 15:38:37 don't care 15:38:38 don't care 15:38:39 don't care 15:38:39 don't care 15:38:45 don't care 15:38:47 don't care 15:38:48 HAVING but too early to decide (cutom aggregates) 15:38:49 don't care 15:39:01 wow, close one 15:39:03 s/cutom/custom/ 15:39:05 One more keyword --- one less redundand flexibility fo making errors. 15:39:12 leave it to editors? 15:39:49 Leave it up to the editors. 15:40:11 LeeF: commas in SELECT list? 15:40:15 (expr AS ?var) 15:41:20 Optional commas, please 15:41:26 We have now optional commas in select lists 15:41:32 Optional commas is the worst possible outcome 15:41:33 do we? 15:41:34 IMHO 15:41:39 strawpoll: commas required, brackets required, either allowed, don't care 15:42:32 we have required (...): (expr) as ?var but optional commas 15:42:49 AndyS: concern that commas and brackets are distinct and shouldn't be voted on as one vs the other 15:43:19 It's easier to close compiler's eyes on extra commas than to explain the syntax to every SQL-minded developer 15:43:42 Agree with iv_an_ru 15:44:12 letter them? 15:44:16 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 strawpoll: 1. commas required, 2. (expr AS ?var) required, 3. (expr) AS ?var required. 2 + optional commas, 3 + optional commas 15:45:02 2 15:45:04 2 15:45:04 3 15:45:04 2 15:45:05 3 15:45:07 3 15:45:09 2+opt commas or 2 15:45:12 Orri: 3 + optional commas 15:45:12 3+ optional commas 15:45:14 2 15:45:17 3+ optional commas (but no strong preference) 15:45:19 3 15:45:23 2 15:45:24 2 + optional commas 15:45:25 2 15:45:32 2 15:45:59 Notes overall group preference for 2. (expr AS ?var) 15:46:57 LeeF: should now discuss aggregates and mixed data types 15:47:22 LeeF: what to do with MIN with strings, integers, dates, etc 15:48:03 LeeF: F2F also discussed SUM, AVG, etc. Thought to use semantics of "+" 15:48:46 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 SPARQL doesn't have a NULL technically speaking 15:49:56 orri: why not skip over nulls for sum (skip over errors and unbound) 15:50:47 +1 to testcases and usecases 15:51:02 AndyS: want to check common cases. Complicated cases are good for testing, but not needed so much for designing 15:51:35 we haven't looked at any complicated cases yet 15:52:33 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 LeeF: need to define semantics 15:53:20 AndyS: want to define semantics, but don't let corner cases drive the semantics 15:54:24 -Sandro 15:54:34 This is fixed, and hard to do, but perhaps relevant: http://lists.w3.org/Archives/Public/public-lod/2009Jun/0272.html ? 15:55:23 LeeF: thinks that this isn't an issue that we'll progress on in a teleconference 15:55:24 q+ 15:55:29 ack me 15:55:57 TPC-H is a good use case ;) 15:56:22 -1 to TPC-H as a usecase :) 15:56:31 q+ 15:56:36 Zakim, mute me 15:56:36 KjetilK should now be muted 15:56:38 ack AndyS 15:57:18 yes, agreed with Andy 15:57:26 AndyS: can we hear an example of problem? 15:57:27 should look harder at what to do with errors 15:59:22 i'll have some service description stuff. will send an email about it this week. 15:59:39 -Chimezie_Ogbuji 15:59:41 -Orri 15:59:44 -Prateek 15:59:45 -dcharbon2 15:59:46 -john-l 15:59:47 -bglimm 15:59:48 -SteveH 15:59:51 -iv_an_ru 15:59:53 -KjetilK 15:59:53 -Ivan 15:59:55 -tommik 16:00:00 Good call. 16:00:05 -AlexPassant 16:00:08 -kasei 16:00:10 -LeeF 16:00:11 -pgearon 16:00:16 -AndyS 16:00:17 SW_(SPARQL)10:00AM has ended 16:00:20 Attendees were AlexPassant, KjetilK, LeeF, kasei, bglimm, AndyS, pgearon, Ivan, john-l, Orri, SteveH, tommik, dcharbon2, Chimezie_Ogbuji, Sandro, +0383306aaaa, iv_an_ru, Prateek 16:01:15 pgearon - write an outline design fromwht you think is right. Then you''l know :-) 16:01:34 consensus was reached on 2 conflicting designs, and people keep referring back to the "consensus" :-) 16:01:52 AndyS, yes, you're right. I should just define what the consensus was :-) 16:02:24 pgearon has left #sparql 16:04:19 KjetilK? 16:06:41 kasei! 16:07:37 heya. the new patches look good. applied them this morning. 16:07:46 great! 16:07:53 (really bad lag here, sorry if i'm not responsive) 16:07:59 np 16:09:07 are you ready to do a CPAN upload, or should I? 16:09:10 as far as maintainence, i'd be happy to release it or have you do it. 16:09:19 either way would be fine. 16:09:39 ok, since I am the only one using it now, I guess I could do it? 16:10:18 if you like, sure. but don't feel obligated; I can try to package it up tonight if you'd like me to. 16:10:23 really whatever is easiest. 16:11:03 ok, I'll do it later tonight, np 16:11:19 thanks for applying the patches! 16:11:34 it smells dinner here, I should be going 16:11:37 wife++ 16:12:58 ok, later. 16:16:48 ivan has left #sparql 17:02:25 dcharbon2 has joined #sparql 18:04:06 Zakim has left #sparql 19:11:24 pgearon has joined #sparql 19:56:16 pgearon has joined #sparql