13:59:37 RRSAgent has joined #sparql 13:59:37 logging to http://www.w3.org/2009/07/07-sparql-irc 13:59:39 RRSAgent, make logs world 13:59:39 Zakim has joined #sparql 13:59:41 Zakim, this will be 77277 13:59:41 ok, trackbot; I see SW_(SPARQL)10:00AM scheduled to start in 1 minute 13:59:42 Meeting: SPARQL Working Group Teleconference 13:59:42 Date: 07 July 2009 13:59:51 zakim, this will be SPARQL 13:59:51 ok, LeeF, I see SW_(SPARQL)10:00AM already started 13:59:56 zakim, who's on the phone? 13:59:56 On the phone I see john-l, kasei (muted) 14:00:05 zakim, code? 14:00:05 the conference code is 77277 (tel:+1.617.761.6200 tel:+33.4.89.06.34.99 tel:+44.117.370.6152), LeeF 14:00:28 +LeeF 14:00:42 +??P22 14:00:52 Zakim, ??P22 is me 14:01:00 +KjetilK; got it 14:01:04 +pgearon 14:01:20 +??P25 14:01:23 zakim, ??P25 is me 14:01:24 Zakim, mute me 14:01:37 AndyS has joined #sparql 14:01:40 +AndyS; got it 14:01:42 KjetilK should now be muted 14:01:43 AndyS has joined #sparql 14:01:46 +[IBM] 14:01:56 zakim, dial ivan-voip 14:02:04 ok, ivan; the call is being made 14:02:06 +Ivan 14:02:12 zakim, [IBM] is temporarily SimonKJ 14:02:19 +SimonKJ; got it 14:02:29 SimonS has joined #sparql 14:03:01 zakim, who's on the phone? 14:03:03 On the phone I see john-l, kasei (muted), LeeF, KjetilK (muted), pgearon, AndyS, SimonKJ, Ivan 14:03:40 +SimonS 14:04:03 +??P40 14:04:03 LukeWM has joined #sparql 14:04:19 -??P40 14:04:22 Prateek has joined #sparql 14:04:40 Chair: LeeF 14:04:44 Scribenick: KjetilK 14:05:01 +??P42 14:05:11 +cory 14:05:19 +Prateek 14:05:19 +??P42 is Garlik 14:05:22 zakim, cory is Prateek 14:05:23 +Prateek; got it 14:06:10 Garlik has LukeWM,SteveH 14:06:39 zakim,+??P42 is Garlik 14:06:39 sorry, LukeWM, I do not recognize a party named '+??P42' 14:06:52 zakim, who is on the phone? 14:06:52 On the phone I see john-l, kasei (muted), LeeF, KjetilK (muted), pgearon, AndyS, SimonKJ, Ivan, SimonS, ??P42, Prateek 14:06:55 Zakim, ??P42 is Garlik 14:06:57 +Garlik; got it 14:07:17 zakim, Garlik has LukeWM,SteveH 14:07:22 topic: admin 14:07:24 +LukeWM, SteveH; got it 14:07:29 PROPOSED: Approve minutes at http://www.w3.org/2009/sparql/meeting/2009-06-30 14:07:56 +EricP 14:08:03 LeeF runs through the agenda 14:08:21 RESOLVED: Approve minutes at http://www.w3.org/2009/sparql/meeting/2009-06-30 14:09:16 Next meeting: 2009-07-14 @ 15:00 BST / 10:00 EDT, IvanH to scribe 14:09:35 alepas has joined #sparql 14:09:56 topic: liaisons 14:10:43 +??P50 14:10:54 Zakim, ??P50 is me 14:10:54 +AlexPassant; got it 14:11:01 topic: open actions 14:11:02 http://www.w3.org/2009/sparql/track/actions/open 14:11:14 LeeF: nothing from the liasons 14:11:32 trackbot, close ACTION-28 14:11:32 ACTION-28 Provide tabulator update use case on wiki closed 14:11:48 trackbot, close ACTION-32 14:11:48 ACTION-32 Work with SimonS on explaining and comparing UNSAID and MINUS closed 14:11:57 trackbot, close ACTION-39 14:11:57 ACTION-39 Review F&R document closed 14:12:03 Regrets: Axel, Chimezie 14:12:28 Zakim, unmute me 14:12:28 KjetilK should no longer be muted 14:13:00 trackbot, close ACTION-45 14:13:00 ACTION-45 Adopt one more additional syntaxe UNSAID or NOT EXISTS for negation closed 14:13:04 thanks... 14:13:14 trackbot, close ACTION-46 14:13:14 ACTION-46 Review F&R closed 14:13:22 trackbot, close ACTION-50 14:13:22 ACTION-50 Work with Lee to publish FPWD of features & rationales closed 14:13:51 topic: Negation 14:14:12 http://www.w3.org/2009/sparql/wiki/Design:Negation 14:14:55 Zakim, who is talking? 14:15:06 KjetilK, listening for 10 seconds I could not identify any sounds 14:15:28 ericP: I can say something about the UNSAID and NOT EXISTS 14:15:42 q+ to disagree with that framing :-) 14:16:01 s/NOT EXISTS/MINUS/ 14:16:22 +1 for finding MINUS easier to figure out 14:17:06 q+ 14:17:12 ack AndyS 14:17:12 AndyS, you wanted to disagree with that framing :-) 14:17:32 LeeF: for the simple cases "find the people who doesn't have a homepage", are those the same? 14:17:37 ericP: yeah 14:18:27 ack ivan 14:18:45 NOT EXISTS == UNSAID 14:20:01 EricP's mail comparing MINUS & UNSAID is http://lists.w3.org/Archives/Public/public-rdf-dawg/2009JulSep/0022.html 14:21:00 AndyS: can you have a look at the negation design page and say where it starts to get confusing? 14:21:43 LeeF: I think that owl:sameAs 14:22:05 ...for the purpose of this discussion 14:22:13 +q on syntactic use of MINUS 14:22:24 AndyS: NOT EXISTS is always a filter 14:24:14 A. B. NOT EXISTS { C } . D. means Join(A . B) _then_ Filter out solutions compatible with Eval(C) _then_ join with D ? 14:25:06 ack pgearon 14:25:06 pgearon, you wanted to comment on syntactic use of MINUS 14:25:09 q+ to ask for more help understanding the difference :) 14:26:16 q+ to ask if there is a difference without OPTIONAL? 14:27:10 LeeF: I think we need a deeper understanding of NOT EXISTS vs MINUS 14:27:12 AndyS has joined #sparql 14:27:34 kasei? 14:27:51 yes? 14:28:09 matches == same variables bound to same values 14:28:23 You have UNSAID - does your experience help here to explain things? 14:28:59 mine is implemented essentially as you've described yours, equivalent to a filter. 14:29:39 with variable substitution from the result in the expr/bgp and then testing for existence. 14:30:03 Example: ?a = "a" MINUS ?b = "b" is ???? 14:30:28 q? 14:30:31 ack LeeF 14:30:31 LeeF, you wanted to ask for more help understanding the difference :) 14:30:38 I would assume that would result in { a="a" } 14:30:47 same here 14:30:53 SPARQL-Join is ("a", "b") 14:31:05 A - {?a = "a"} MINUS B - {?a = "a"} 14:31:21 => no solutions 14:31:30 A - {?a = "a", ?b = "b"} MINUS B - {?a = "a"} 14:31:46 => no solutions 14:31:48 ? 14:32:12 why not ?b="b" 14:32:24 because you lose the whole solution 14:33:09 A - {?a = "a", ?b = "b"} MINUS B - {?a = "a", ?c = "c"} 14:33:09 aha, too 14:33:23 we're using the same "compatibility" test that a "join" uses 14:33:30 => no solutions 14:33:43 http://www.w3.org/2009/sparql/wiki/Design:Negation#MINUS_with_unification_on_multiple_columns 14:33:50 A - {?b = "b"} MINUS B - {?c = "c"} 14:34:21 joining would give {?b = "b", ?c = "c"} 14:34:21 bglimm has joined #SPARQL 14:34:28 no, I dont think so 14:34:33 +bcuencagrau 14:34:55 Zakim, bcuencagrau is bglimm 14:34:55 +bglimm; got it 14:35:08 """ 14:35:09 Definition: Compatible Mappings 14:35:09 Two solution mappings mu1 and mu2 are compatible if, for every variable v in dom(mu1) and in dom(mu2), mu1(v) = mu2(v). 14:35:11 """ 14:36:13 => A 14:36:14 {?b = "b"} 14:36:25 q+ 14:36:42 I think you get { ?b = "b" } { ?c = "c" } 14:36:51 MINUS - for each solution A on LHS, remove it if there is at least one solution B on the RHS such that A and B are compatible and A and B share at least one variable in common in their domain 14:36:51 not { ?b = "b", ?c = "c" } 14:37:25 +q 14:37:28 q- 14:37:34 UNION gives { ?b = "b" } { ?c = "c" } 14:38:00 q+ 14:38:37 AndyS has joined #sparql 14:38:52 ack AndyS 14:38:52 AndyS, you wanted to ask if there is a difference without OPTIONAL? 14:38:55 ack pgearon 14:38:59 ack pgearon 14:39:12 q+ AndyS to ask if there is a difference without OPTIONAL? 14:40:33 q- 14:40:38 Zakim, mute me 14:40:38 bglimm should now be muted 14:41:09 q? 14:41:22 ack AndyS 14:41:22 AndyS, you wanted to ask if there is a difference without OPTIONAL? 14:42:22 q+ to defend that SQL's is the same 14:42:34 +1 SQL's is the same 14:42:40 AndyS: there are 3 possible MINUS definitions 14:42:42 1) SQL's 14:42:45 2) antijoin 14:42:54 3) antijoin + restriction on sharing a variable (what LeeF wrote above) 14:43:14 so it becomes a "set difference" operation in SQL 14:43:48 +1 on "anti-optional" -- underneath, that's exactly how mine is implemented :) 14:44:31 I've mentioned this before, but I have a blog description of this "antijoin" http://gearon.blogspot.com/2004/10/owlsameas-majority-of-today-was-spent.html 14:44:58 It's not necessarily well written, but I still think it's correct 14:45:27 sql example: http://www.1keydata.com/sql/sql-minus.html 14:46:10 AndyS has joined #sparql 14:46:39 q- 14:47:01 Steve - they are column compatible! 14:47:54 +1 about either approach working for me 14:48:40 AndyS: the one i find difficult is the pure antijoin where no variables in common means remove the solution 14:48:44 +1 that restriction on sharing a variable will get us into trouble 14:50:20 AndyS: there is a problem of cardinality, if you have 3 on the LHS and 2 on the RHS, do you get 1 or 0? 14:50:28 kasei, do you have an opinion on this in general? 14:50:29 ericP: I'd do what SQL does? 14:51:02 I think you've gotten it right. I prefer unsaid (but not exists is, I believe, just syntactically different). 14:51:21 ... and am confused/worried by the 3 different characterizations of minus. 14:51:30 UNION is horrible 14:52:21 q+ 14:52:38 I think we have a general preference for either of LeeF's (2) or (3) 14:52:41 ack SimonKJ 14:54:30 SimonKJ: different approaches have significantly different impacts on query plans / optimizers, even if they'd give the same results 14:55:07 I would find it had to optimise NOT EXISTS as a FILTER in SQL 14:55:13 sorry, SPARQL 14:55:22 +1 14:55:34 An optimizer can do it how it likes - I do join/leftjoin like that. 14:55:46 yeah, but I don't 14:55:57 it would be a lot slower 14:56:28 ?? 14:56:58 I think that we should move it to the mailing list until everyone who wants to discuss it has their head around it 14:57:45 LeeF: we go to Update 14:58:14 LeeF: AndyS has asked if we could adopt the Member Submission as a starting point 14:58:26 AndyS: are there any completely different approaches? 14:58:35 there's the explicit FILTER() form 14:58:47 ...if there are, now it is the time to put it on the table 14:58:55 q+ 14:59:00 ack ivan 14:59:01 what about the diff-like syntax? 14:59:37 and/or DAV 15:00:02 ivan: the Member Submission has a lot of support allready, it is a starting point on its own merits 15:00:03 I agree with Ivan, SPARQL-Update is already implemented in a lot of places 15:00:47 -EricP 15:00:50 -Ivan 15:00:51 -john-l 15:00:52 -SimonKJ 15:00:53 -pgearon 15:00:54 -Garlik 15:00:56 -bglimm 15:00:58 -SimonS 15:01:00 -Prateek 15:01:02 -AlexPassant 15:01:04 -LeeF 15:01:04 SimonKJ has left #sparql 15:01:08 -KjetilK 15:01:10 -kasei 15:01:12 -AndyS 15:01:14 SW_(SPARQL)10:00AM has ended 15:01:16 Attendees were john-l, kasei, LeeF, KjetilK, pgearon, AndyS, Ivan, SimonKJ, SimonS, Prateek, LukeWM, SteveH, EricP, AlexPassant, bglimm 15:01:49 back to the wiki for rdf issue, the downside to using the upload feature is that it won't be editable... 15:02:02 KjetilK, do you want to try doing the minutes steps, or would you like me to? 15:02:26 LeeF: I'll try 15:03:03 LukeWM has joined #sparql 15:03:21 LeeF: do I need to tell RRSAgent to generate the minutes first? 15:03:24 nope 15:03:28 ok 15:04:07 uh: UnicodeDecodeError 15:05:21 UnicodeDecodeError: 'utf8' codec can't decode byte 0xb5 in position 7630: unexpected code byte 15:05:22 args = ('utf8', "13:59:37 RRSAgent has joined #sparql\n...ou like me to?\n15:02:26 LeeF: I'll try\n", 7630, 7631, 'unexpected code byte') 15:06:33 ChrisW has joined #sparql 15:06:50 ChrisW has left #sparql 15:07:20 LeeF: any idea what could cause that? 15:07:52 KjetilK, what irc client are you using? 15:10:21 ericP: Konversation, on KDE 15:12:32 is it set up to emit utf8? 15:13:33 it's odd, i don't see any non-ascii around 15:02:26 15:14:31 ericP, yeah, it is UTF8 by default 15:14:54 aha, 15:15:06 I wrote "værsågod" early in the chat... 15:15:19 2009-07-07T14:35:09Z 15:15:33 trouble maker 15:15:55 :-) 15:16:18 isn't that encoded correctly? 15:16:45 looks like you have to edit the wiki around "Two solution mappings u1 and u2" (where i used 'u' instead of mu in order to not cause more trouble) 15:16:53 do you have a pointer to the wiki page? 15:16:54 aha 15:17:16 I don't think I ever got that far, it crashed on copy 15:18:56 i've invited the creator to join us for debugging/reparations 15:19:06 ok, cool 15:19:31 I've got dinner on the table here, I can join you later, perhaps? 15:19:51 sure 15:21:37 ok, bbian 15:21:41 err, bbiab 15:21:47 pointer to the mihutes? 15:21:52 sorry, irc log? 15:21:56 (so we can fix it) 15:22:07 sandro has joined #sparql 15:22:47 ericP, the error message sais it's position 7630 in http://www.w3.org/2009/07/07-sparql-irc.txt which isn't in utf-8. 15:23:05 odd, it was pasted in utf-8 15:23:52 009-07-07T14:35:09Z Two solution mappings mu1 and mu2 are compatible if, for every variable v in dom(mu1) and in dom(mu2), mu1(v) = mu2(v). 15:24:56 AndyS has joined #sparql 15:25:19 Could just be a bug in my code. 15:25:40 I suggest removing those lines from the RRSagent log, doing the copy, then pasting those lines back into the wiki,. 15:25:49 that works 15:26:51 sorry about the bug. 15:27:12 what kind of pretentious person uses mu on IRC anyway. :-) 15:27:26 np at all. just wondered if we should avoid utf-8 15:28:41 honestly, I'm terrible at keeping straight which strings are encoded and which are not, and it's easy for me to accidently decode twice or something, which is probably the bug. 15:33:57 AndyS has joined #sparql 15:47:42 sandro, are you at the 'tute? 15:47:46 feel like debugging? 15:48:37 nope and nope :-) 15:49:59 did sandro just call me pretentious? harrumph 16:07:21 iv_an_ru has joined #sparql 16:07:51 :-) 16:08:42 did you finish the generation of the minutes? 16:08:56 nah, i suck 16:08:59 got distracted 16:09:09 on it now