IRC log of sparql on 2009-07-07

Timestamps are in UTC.

13:59:37 [RRSAgent]
RRSAgent has joined #sparql
13:59:37 [RRSAgent]
logging to
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:+ tel:+44.117.370.6152), LeeF
14:00:28 [Zakim]
14:00:42 [Zakim]
14:00:52 [KjetilK]
Zakim, ??P22 is me
14:01:00 [Zakim]
+KjetilK; got it
14:01:04 [Zakim]
14:01:20 [Zakim]
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]
14:01:56 [ivan]
zakim, dial ivan-voip
14:02:04 [Zakim]
ok, ivan; the call is being made
14:02:06 [Zakim]
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, Ivan
14:03:40 [Zakim]
14:04:03 [Zakim]
14:04:03 [LukeWM]
LukeWM has joined #sparql
14:04:19 [Zakim]
14:04:22 [Prateek]
Prateek has joined #sparql
14:04:40 [LeeF]
Chair: LeeF
14:04:44 [LeeF]
Scribenick: KjetilK
14:05:01 [Zakim]
14:05:11 [Zakim]
14:05:19 [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, Ivan, 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
14:07:56 [Zakim]
14:08:03 [KjetilK]
LeeF runs through the agenda
14:08:21 [LeeF]
RESOLVED: Approve minutes at
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]
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]
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]
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]
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 NOT EXISTS
14:15:42 [AndyS]
q+ to disagree with that framing :-)
14:16:01 [KjetilK]
14:16:22 [pgearon]
+1 for finding MINUS easier to figure out
14:17:06 [ivan]
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 ivan
14:18:45 [LeeF]
14:20:01 [LeeF]
EricP's mail comparing MINUS & UNSAID is
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]
14:27:51 [kasei]
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]
Example: ?a = "a" MINUS ?b = "b" is ????
14:30:28 [LeeF]
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 [ivan]
14:32:12 [ivan]
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 [ivan]
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]
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]
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 1 and 2 are compatible if, for every variable v in dom(1) and in dom(2), 1(v) = 2(v).
14:35:11 [LeeF]
14:36:13 [LeeF]
=> A
14:36:14 [pgearon]
{?b = "b"}
14:36:25 [SteveH]
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]
14:37:28 [SteveH]
14:37:34 [AndyS]
UNION gives { ?b = "b" } { ?c = "c" }
14:38:00 [SimonS]
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]
14:40:38 [bglimm]
Zakim, mute me
14:40:38 [Zakim]
bglimm should now be muted
14:41:09 [LeeF]
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"
14:44:58 [pgearon]
It's not necessarily well written, but I still think it's correct
14:45:27 [SteveH]
sql example:
14:46:10 [AndyS]
AndyS has joined #sparql
14:46:39 [ericP]
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]
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]
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 [ivan]
14:59:00 [LeeF]
ack ivan
14:59:01 [SteveH]
what about the diff-like syntax?
14:59:37 [SteveH]
and/or DAV
15:00:02 [KjetilK]
ivan: 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 Ivan, SPARQL-Update is already implemented in a lot of places
15:00:47 [Zakim]
15:00:50 [Zakim]
15:00:51 [Zakim]
15:00:52 [Zakim]
15:00:53 [Zakim]
15:00:54 [Zakim]
15:00:56 [Zakim]
15:00:58 [Zakim]
15:01:00 [Zakim]
15:01:02 [Zakim]
15:01:04 [Zakim]
15:01:04 [SimonKJ]
SimonKJ has left #sparql
15:01:08 [Zakim]
15:01:10 [Zakim]
15:01:12 [Zakim]
15:01:14 [Zakim]
SW_(SPARQL)10:00AM has ended
15:01:16 [Zakim]
Attendees were john-l, kasei, LeeF, KjetilK, pgearon, AndyS, Ivan, SimonKJ, SimonS, Prateek, LukeWM, SteveH, EricP, AlexPassant, bglimm
15:01:49 [kasei]
back to the wiki for rdf issue, the downside to using the upload feature is that it won't be editable...
15:02:02 [LeeF]
KjetilK, do you want to try doing the minutes steps, or would you like me to?
15:02:26 [KjetilK]
LeeF: I'll try
15:03:03 [LukeWM]
LukeWM has joined #sparql
15:03:21 [KjetilK]
LeeF: do I need to tell RRSAgent to generate the minutes first?
15:03:24 [LeeF]
15:03:28 [KjetilK]
15:04:07 [KjetilK]
uh: UnicodeDecodeError
15:05:21 [KjetilK]
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb5 in position 7630: unexpected code byte
15:05:22 [KjetilK]
args = ('utf8', "13:59:37 <RRSAgent> RRSAgent has joined #sparql\n...ou like me to?\n15:02:26 <KjetilK> LeeF: I'll try\n", 7630, 7631, 'unexpected code byte')
15:06:33 [ChrisW]
ChrisW has joined #sparql
15:06:50 [ChrisW]
ChrisW has left #sparql
15:07:20 [KjetilK]
LeeF: any idea what could cause that?
15:07:52 [ericP]
KjetilK, what irc client are you using?
15:10:21 [KjetilK]
ericP: Konversation, on KDE
15:12:32 [ericP]
is it set up to emit utf8?
15:13:33 [ericP]
it's odd, i don't see any non-ascii around 15:02:26
15:14:31 [KjetilK]
ericP, yeah, it is UTF8 by default
15:14:54 [ericP]
15:15:06 [KjetilK]
I wrote "værsågod" early in the chat...
15:15:19 [ericP]
15:15:33 [ericP]
trouble maker
15:15:55 [KjetilK]
15:16:18 [KjetilK]
isn't that encoded correctly?
15:16:45 [ericP]
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 [ericP]
do you have a pointer to the wiki page?
15:16:54 [KjetilK]
15:17:16 [KjetilK]
I don't think I ever got that far, it crashed on copy
15:18:56 [ericP]
i've invited the creator to join us for debugging/reparations
15:19:06 [KjetilK]
ok, cool
15:19:31 [KjetilK]
I've got dinner on the table here, I can join you later, perhaps?
15:19:51 [ericP]
15:21:37 [KjetilK]
ok, bbian
15:21:41 [KjetilK]
err, bbiab
15:21:47 [ericP]
pointer to the mihutes?
15:21:52 [ericP]
sorry, irc log?
15:21:56 [ericP]
(so we can fix it)
15:22:07 [sandro]
sandro has joined #sparql
15:22:47 [sandro]
ericP, the error message sais it's position 7630 in which isn't in utf-8.
15:23:05 [ericP]
odd, it was pasted in utf-8
15:23:52 [ericP]
009-07-07T14:35:09Z <LeeF> Two solution mappings µ1 and µ2 are compatible if, for every variable v in dom(µ1) and in dom(µ2), µ1(v) = µ2(v).
15:24:56 [AndyS]
AndyS has joined #sparql
15:25:19 [sandro]
Could just be a bug in my code.
15:25:40 [sandro]
I suggest removing those lines from the RRSagent log, doing the copy, then pasting those lines back into the wiki,.
15:25:49 [ericP]
that works
15:26:51 [sandro]
sorry about the bug.
15:27:12 [sandro]
what kind of pretentious person uses mu on IRC anyway. :-)
15:27:26 [ericP]
np at all. just wondered if we should avoid utf-8
15:28:41 [sandro]
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]
AndyS has joined #sparql
15:47:42 [ericP]
sandro, are you at the 'tute?
15:47:46 [ericP]
feel like debugging?
15:48:37 [sandro]
nope and nope :-)
15:49:59 [LeeF]
did sandro just call me pretentious? harrumph
16:07:21 [iv_an_ru]
iv_an_ru has joined #sparql
16:07:51 [KjetilK]
16:08:42 [KjetilK]
did you finish the generation of the minutes?
16:08:56 [ericP]
nah, i suck
16:08:59 [ericP]
got distracted
16:09:09 [ericP]
on it now