Warning:
This wiki has been archived and is now read-only.
Chatlog 2009-07-07
From SPARQL Working Group
See original RRSAgent log and preview nicely formatted version.
Please justify/explain all edits to this page, in your "edit summary" text.
13:59:37 <RRSAgent> RRSAgent has joined #sparql 13:59:37 <RRSAgent> logging to http://www.w3.org/2009/07/07-sparql-irc 13:59:39 <trackbot> RRSAgent, make logs world 13:59:39 <Zakim> Zakim has joined #sparql 13:59:41 <trackbot> Zakim, this will be 77277 13:59:41 <Zakim> ok, trackbot; I see SW_(SPARQL)10:00AM scheduled to start in 1 minute 13:59:42 <trackbot> Meeting: SPARQL Working Group Teleconference 13:59:42 <trackbot> Date: 07 July 2009 13:59:51 <LeeF> zakim, this will be SPARQL 13:59:51 <Zakim> ok, LeeF, I see SW_(SPARQL)10:00AM already started 13:59:56 <LeeF> zakim, who's on the phone? 13:59:56 <Zakim> On the phone I see john-l, kasei (muted) 14:00:05 <LeeF> zakim, code? 14:00:05 <Zakim> 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 <Zakim> +LeeF 14:00:42 <Zakim> +??P22 14:00:52 <KjetilK> Zakim, ??P22 is me 14:01:00 <Zakim> +KjetilK; got it 14:01:04 <Zakim> +pgearon 14:01:20 <Zakim> +??P25 14:01:23 <AndyS> zakim, ??P25 is me 14:01:24 <KjetilK> Zakim, mute me 14:01:37 <AndyS> AndyS has joined #sparql 14:01:40 <Zakim> +AndyS; got it 14:01:42 <Zakim> KjetilK should now be muted 14:01:43 <AndyS> AndyS has joined #sparql 14:01:46 <Zakim> +[IBM] 14:01:56 <ivanh> zakim, dial ivanh-voip 14:02:04 <Zakim> ok, ivanh; the call is being made 14:02:06 <Zakim> +ivanh 14:02:12 <LeeF> zakim, [IBM] is temporarily SimonKJ 14:02:19 <Zakim> +SimonKJ; got it 14:02:29 <SimonS> SimonS has joined #sparql 14:03:01 <LeeF> zakim, who's on the phone? 14:03:03 <Zakim> On the phone I see john-l, kasei (muted), LeeF, KjetilK (muted), pgearon, AndyS, SimonKJ, ivanh 14:03:40 <Zakim> +SimonS 14:04:03 <Zakim> +??P40 14:04:03 <LukeWM> LukeWM has joined #sparql 14:04:19 <Zakim> -??P40 14:04:22 <Prateek> Prateek has joined #sparql 14:04:40 <LeeF> Chair: LeeF 14:04:44 <LeeF> Scribenick: KjetilK 14:05:01 <Zakim> +??P42 14:05:11 <Zakim> +cory 14:05:19 <Prateek> +Prateek 14:05:19 <LukeWM> +??P42 is Garlik 14:05:22 <LeeF> zakim, cory is Prateek 14:05:23 <Zakim> +Prateek; got it 14:06:10 <LukeWM> Garlik has LukeWM,SteveH 14:06:39 <LukeWM> zakim,+??P42 is Garlik 14:06:39 <Zakim> sorry, LukeWM, I do not recognize a party named '+??P42' 14:06:52 <LukeWM> zakim, who is on the phone? 14:06:52 <Zakim> On the phone I see john-l, kasei (muted), LeeF, KjetilK (muted), pgearon, AndyS, SimonKJ, ivanh, SimonS, ??P42, Prateek 14:06:55 <john-l> Zakim, ??P42 is Garlik 14:06:57 <Zakim> +Garlik; got it 14:07:17 <LukeWM> zakim, Garlik has LukeWM,SteveH 14:07:22 <LeeF> topic: admin 14:07:24 <Zakim> +LukeWM, SteveH; got it 14:07:29 <LeeF> PROPOSED: Approve minutes at http://www.w3.org/2009/sparql/meeting/2009-06-30 14:07:56 <Zakim> +EricP 14:08:03 <KjetilK> LeeF runs through the agenda 14:08:21 <LeeF> RESOLVED: Approve minutes at http://www.w3.org/2009/sparql/meeting/2009-06-30 14:09:16 <LeeF> Next meeting: 2009-07-14 @ 15:00 BST / 10:00 EDT, ivanh to scribe 14:09:35 <alepas> alepas has joined #sparql 14:09:56 <LeeF> topic: liaisons 14:10:43 <Zakim> +??P50 14:10:54 <AlexPassant> Zakim, ??P50 is me 14:10:54 <Zakim> +AlexPassant; got it 14:11:01 <LeeF> topic: open actions 14:11:02 <LeeF> http://www.w3.org/2009/sparql/track/actions/open 14:11:14 <KjetilK> LeeF: nothing from the liasons 14:11:32 <LeeF> trackbot, close ACTION-28 14:11:32 <trackbot> ACTION-28 Provide tabulator update use case on wiki closed 14:11:48 <LeeF> trackbot, close ACTION-32 14:11:48 <trackbot> ACTION-32 Work with SimonS on explaining and comparing UNSAID and MINUS closed 14:11:57 <LeeF> trackbot, close ACTION-39 14:11:57 <trackbot> ACTION-39 Review F&R document closed 14:12:03 <LeeF> Regrets: Axel, Chimezie 14:12:28 <KjetilK> Zakim, unmute me 14:12:28 <Zakim> KjetilK should no longer be muted 14:13:00 <LeeF> trackbot, close ACTION-45 14:13:00 <trackbot> ACTION-45 Adopt one more additional syntaxe UNSAID or NOT EXISTS for negation closed 14:13:04 <KjetilK> thanks... 14:13:14 <LeeF> trackbot, close ACTION-46 14:13:14 <trackbot> ACTION-46 Review F&R closed 14:13:22 <LeeF> trackbot, close ACTION-50 14:13:22 <trackbot> ACTION-50 Work with Lee to publish FPWD of features & rationales closed 14:13:51 <LeeF> topic: Negation 14:14:12 <LeeF> http://www.w3.org/2009/sparql/wiki/Design:Negation 14:14:55 <KjetilK> Zakim, who is talking? 14:15:06 <Zakim> KjetilK, listening for 10 seconds I could not identify any sounds 14:15:28 <KjetilK> ericP: I can say something about the UNSAID and MINUS 14:15:42 <AndyS> q+ to disagree with that framing :-) 14:16:22 <pgearon> +1 for finding MINUS easier to figure out 14:17:06 <ivanh> q+ 14:17:12 <LeeF> ack AndyS 14:17:12 <Zakim> AndyS, you wanted to disagree with that framing :-) 14:17:32 <KjetilK> LeeF: for the simple cases "find the people who doesn't have a homepage", are those the same? 14:17:37 <KjetilK> ericP: yeah 14:18:27 <LeeF> ack ivanh 14:18:45 <LeeF> NOT EXISTS == UNSAID 14:20:01 <LeeF> EricP's mail comparing MINUS & UNSAID is http://lists.w3.org/Archives/Public/public-rdf-dawg/2009JulSep/0022.html 14:21:00 <KjetilK> AndyS: can you have a look at the negation design page and say where it starts to get confusing? 14:21:43 <KjetilK> LeeF: I think that <NOT%20EXISTS> owl:sameAs <UNSAID> 14:22:05 <KjetilK> ...for the purpose of this discussion 14:22:13 <pgearon> +q on syntactic use of MINUS 14:22:24 <KjetilK> AndyS: NOT EXISTS is always a filter 14:24:14 <LeeF> 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 <KjetilK> ack pgearon 14:25:06 <Zakim> pgearon, you wanted to comment on syntactic use of MINUS 14:25:09 <LeeF> q+ to ask for more help understanding the difference :) 14:26:16 <AndyS> q+ to ask if there is a difference without OPTIONAL? 14:27:10 <KjetilK> LeeF: I think we need a deeper understanding of NOT EXISTS vs MINUS 14:27:12 <AndyS> AndyS has joined #sparql 14:27:34 <AndyS> kasei? 14:27:51 <kasei> yes? 14:28:09 <LeeF> matches == same variables bound to same values 14:28:23 <AndyS> You have UNSAID - does your experience help here to explain things? 14:28:59 <kasei> mine is implemented essentially as you've described yours, equivalent to a filter. 14:29:39 <kasei> with variable substitution from the result in the expr/bgp and then testing for existence. 14:30:03 <AndyS> An Example: ?a = "a" MINUS ?b = "b" is ???? 14:30:28 <LeeF> q? 14:30:31 <LeeF> ack LeeF 14:30:31 <Zakim> LeeF, you wanted to ask for more help understanding the difference :) 14:30:38 <kasei> I would assume that would result in { a="a" } 14:30:47 <pgearon> same here 14:30:53 <AndyS> SPARQL-Join is ("a", "b") 14:31:05 <LeeF> A - {?a = "a"} MINUS B - {?a = "a"} 14:31:21 <LeeF> => no solutions 14:31:30 <LeeF> A - {?a = "a", ?b = "b"} MINUS B - {?a = "a"} 14:31:46 <LeeF> => no solutions 14:31:48 <ivanh> ? 14:32:12 <ivanh> why not ?b="b" 14:32:24 <SteveH> because you lose the whole solution 14:33:09 <LeeF> A - {?a = "a", ?b = "b"} MINUS B - {?a = "a", ?c = "c"} 14:33:09 <ivanh> aha, too 14:33:23 <pgearon> we're using the same "compatibility" test that a "join" uses 14:33:30 <LeeF> => no solutions 14:33:43 <ericP> http://www.w3.org/2009/sparql/wiki/Design:Negation#MINUS_with_unification_on_multiple_columns 14:33:50 <LeeF> A - {?b = "b"} MINUS B - {?c = "c"} 14:34:21 <LeeF> joining would give {?b = "b", ?c = "c"} 14:34:21 <bglimm> bglimm has joined #SPARQL 14:34:28 <SteveH> no, I dont think so 14:34:33 <Zakim> +bcuencagrau 14:34:55 <bglimm> Zakim, bcuencagrau is bglimm 14:34:55 <Zakim> +bglimm; got it 14:35:08 <LeeF> """ 14:35:09 <LeeF> Definition: Compatible Mappings 14:35:09 <LeeF> 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 <LeeF> """ 14:36:13 <LeeF> => A 14:36:14 <pgearon> {?b = "b"} 14:36:25 <SteveH> q+ 14:36:42 <SteveH> I think you get { ?b = "b" } { ?c = "c" } 14:36:51 <LeeF> 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 <SteveH> not { ?b = "b", ?c = "c" } 14:37:25 <pgearon> +q 14:37:28 <SteveH> q- 14:37:34 <AndyS> UNION gives { ?b = "b" } { ?c = "c" } 14:38:00 <SimonS> q+ 14:38:37 <AndyS> AndyS has joined #sparql 14:38:52 <KjetilK> ack AndyS 14:38:52 <Zakim> AndyS, you wanted to ask if there is a difference without OPTIONAL? 14:38:55 <LeeF> ack pgearon 14:38:59 <KjetilK> ack pgearon 14:39:12 <LeeF> q+ AndyS to ask if there is a difference without OPTIONAL? 14:40:33 <SimonS> q- 14:40:38 <bglimm> Zakim, mute me 14:40:38 <Zakim> bglimm should now be muted 14:41:09 <LeeF> q? 14:41:22 <LeeF> ack AndyS 14:41:22 <Zakim> AndyS, you wanted to ask if there is a difference without OPTIONAL? 14:42:22 <ericP> q+ to defend that SQL's is the same 14:42:34 <SteveH> +1 SQL's is the same 14:42:40 <LeeF> AndyS: there are 3 possible MINUS definitions 14:42:42 <LeeF> 1) SQL's 14:42:45 <LeeF> 2) antijoin 14:42:54 <LeeF> 3) antijoin + restriction on sharing a variable (what LeeF wrote above) 14:43:14 <pgearon> so it becomes a "set difference" operation in SQL 14:43:48 <kasei> +1 on "anti-optional" -- underneath, that's exactly how mine is implemented :) 14:44:31 <pgearon> 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 <pgearon> It's not necessarily well written, but I still think it's correct 14:45:27 <SteveH> sql example: http://www.1keydata.com/sql/sql-minus.html 14:46:10 <AndyS> AndyS has joined #sparql 14:46:39 <ericP> q- 14:47:01 <AndyS> Steve - they are column compatible! 14:47:54 <pgearon> +1 about either approach working for me 14:48:40 <LeeF> AndyS: the one i find difficult is the pure antijoin where no variables in common means remove the solution 14:48:44 <SimonS> +1 that restriction on sharing a variable will get us into trouble 14:50:20 <KjetilK> 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 <LeeF> kasei, do you have an opinion on this in general? 14:50:29 <KjetilK> ericP: I'd do what SQL does? 14:51:02 <kasei> I think you've gotten it right. I prefer unsaid (but not exists is, I believe, just syntactically different). 14:51:21 <kasei> ... and am confused/worried by the 3 different characterizations of minus. 14:51:30 <SteveH> UNION is horrible 14:52:21 <SimonKJ> q+ 14:52:38 <pgearon> I think we have a general preference for either of LeeF's (2) or (3) 14:52:41 <LeeF> ack SimonKJ 14:54:30 <LeeF> SimonKJ: different approaches have significantly different impacts on query plans / optimizers, even if they'd give the same results 14:55:07 <SteveH> I would find it had to optimise NOT EXISTS as a FILTER in SQL 14:55:13 <SteveH> sorry, SPARQL 14:55:22 <pgearon> +1 14:55:34 <AndyS> An optimizer can do it how it likes - I do join/leftjoin like that. 14:55:46 <SteveH> yeah, but I don't 14:55:57 <SteveH> it would be a lot slower 14:56:28 <AndyS> ?? 14:56:58 <pgearon> 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 <KjetilK> LeeF: we go to Update 14:58:14 <KjetilK> LeeF: AndyS has asked if we could adopt the Member Submission as a starting point 14:58:26 <KjetilK> AndyS: are there any completely different approaches? 14:58:35 <SteveH> there's the explicit FILTER() form 14:58:47 <KjetilK> ...if there are, now it is the time to put it on the table 14:58:55 <ivanh> q+ 14:59:00 <LeeF> ack ivanh 14:59:01 <SteveH> what about the diff-like syntax? 14:59:37 <SteveH> and/or DAV 15:00:02 <KjetilK> ivanh: the Member Submission has a lot of support allready, it is a starting point on its own merits 15:00:03 <pgearon> I agree with ivanh, SPARQL-Update is already implemented in a lot of places 15:00:47 <Zakim> -EricP 15:00:50 <Zakim> -ivanh 15:00:51 <Zakim> -john-l 15:00:52 <Zakim> -SimonKJ 15:00:53 <Zakim> -pgearon 15:00:56 <Zakim> -bglimm 15:00:58 <Zakim> -SimonS 15:01:00 <Zakim> -Prateek 15:01:02 <Zakim> -AlexPassant 15:01:04 <Zakim> -LeeF 15:01:04 <SimonKJ> SimonKJ has left #sparql 15:01:08 <Zakim> -KjetilK 15:01:10 <Zakim> -kasei 15:01:12 <Zakim> -AndyS 15:01:14 <Zakim> SW_(SPARQL)10:00AM has ended 15:01:16 <Zakim> Attendees were john-l, kasei, LeeF, KjetilK, pgearon, AndyS, ivanh, SimonKJ, SimonS, Prateek, LukeWM, SteveH, EricP, AlexPassant, bglimm # SPECIAL MARKER FOR CHATSYNC. DO NOT EDIT THIS LINE OR BELOW. SRCLINESUSED=00000296