IRC log of sparql on 2009-05-19

Timestamps are in UTC.

13:55:44 [RRSAgent]
RRSAgent has joined #sparql
13:55:44 [RRSAgent]
logging to
13:56:04 [SimonS]
SimonS has joined #sparql
13:56:11 [Zakim]
Zakim has joined #sparql
13:56:19 [AxelPolleres]
Zakim, this is SPARQL
13:56:19 [Zakim]
AxelPolleres, I see SW_(SPARQL)10:00AM in the schedule but not yet started. Perhaps you mean "this will be SPARQL".
13:56:26 [AxelPolleres]
Zakim, this will be SPARQL
13:56:26 [Zakim]
ok, AxelPolleres; I see SW_(SPARQL)10:00AM scheduled to start in 4 minutes
13:57:00 [pgearon]
pgearon has joined #sparql
13:57:04 [LeeF]
trackbot, start meeting
13:57:06 [trackbot]
RRSAgent, make logs world
13:57:08 [trackbot]
Zakim, this will be 77277
13:57:08 [Zakim]
ok, trackbot; I see SW_(SPARQL)10:00AM scheduled to start in 3 minutes
13:57:09 [trackbot]
Meeting: SPARQL Working Group Teleconference
13:57:09 [trackbot]
Date: 19 May 2009
13:57:44 [Zakim]
SW_(SPARQL)10:00AM has now started
13:57:46 [LukeWM]
LukeWM has joined #sparql
13:57:51 [Zakim]
+ +1.216.445.aaaa
13:58:00 [john-l]
Zakim, aaaa is me
13:58:00 [Zakim]
+john-l; got it
13:58:22 [Zakim]
+ +3539149aabb
13:58:25 [Zakim]
13:58:26 [Zakim]
13:58:34 [Zakim]
13:58:37 [AndyS]
zakim, ??P20 is me
13:58:37 [Zakim]
+AndyS; got it
13:58:40 [Zakim]
13:58:54 [Zakim]
+ +0005aacc
13:58:56 [Zakim]
+ +1.312.863.aadd
13:58:57 [Zakim]
13:59:08 [KjetilK]
Zakim: ??P18 is me
13:59:09 [AxelPolleres]
Zakim, who is speaking?
13:59:14 [KjetilK]
Zakim, ??P18 is me
13:59:14 [Zakim]
+KjetilK; got it
13:59:14 [kasei]
Zakim, IPcaller is me
13:59:15 [Zakim]
+kasei; got it
13:59:20 [Zakim]
13:59:21 [Zakim]
AxelPolleres, listening for 10 seconds I could not identify any sounds
13:59:25 [KjetilK]
Zakim, mute me
13:59:25 [Zakim]
KjetilK should now be muted
13:59:26 [bijan]
zakim, ??p26 is me
13:59:26 [Zakim]
+bijan; got it
13:59:28 [SimonS]
Zakim, aacc is me
13:59:29 [Zakim]
+SimonS; got it
13:59:37 [SteveH]
SteveH has joined #sparql
13:59:38 [AxelPolleres]
Zakim, who is on the phone?
13:59:41 [Zakim]
On the phone I see john-l, AxelPolleres, AndyS, kasei, +1.312.863.aadd, SimonS, KjetilK (muted), bijan
14:00:04 [AxelPolleres]
Zakim, mute me
14:00:04 [Zakim]
AxelPolleres should now be muted
14:00:11 [kasei]
Zakim, mute me
14:00:22 [Zakim]
kasei should now be muted
14:00:29 [AxelPolleres]
Zakim, mute aadd
14:00:44 [Zakim]
+1.312.863.aadd should now be muted
14:00:55 [Zakim]
14:01:13 [SteveH]
P28 might be me, not sure
14:01:16 [Zakim]
14:01:17 [Zakim]
14:01:18 [SteveH]
there was a big delay
14:01:29 [LeeF]
zakim, who's on the phone?
14:01:29 [Zakim]
On the phone I see john-l, AxelPolleres (muted), AndyS, kasei (muted), +1.312.863.aadd (muted), SimonS, KjetilK (muted), bijan, ??P28, ??P29, Lee_Feigenbaum
14:01:30 [AlexPassant]
Zakim: ??P28 is me
14:01:34 [AlexPassant]
Zakim, ??P28 is me
14:01:34 [Zakim]
+AlexPassant; got it
14:01:44 [SteveH]
I'll dial out and back so I get the number...
14:01:49 [Zakim]
14:01:59 [AlexPassant]
oh, so I'm not P28 :)
14:02:14 [AlexPassant]
Zakim, ??P29 is me
14:02:14 [Zakim]
+AlexPassant; got it
14:02:22 [Zakim]
14:02:31 [SteveH]
Zakim, ??P28 is [Garlik]
14:02:31 [Zakim]
+[Garlik]; got it
14:02:40 [SteveH]
Zakim, [Garlik] has SteveH, LukeWM
14:02:40 [Zakim]
+SteveH, LukeWM; got it
14:02:55 [LeeF]
zakim, unmute aadd
14:02:56 [Zakim]
+1.312.863.aadd should no longer be muted
14:03:14 [AxelPolleres]
Zakim, unmute me
14:03:14 [Zakim]
AxelPolleres should no longer be muted
14:03:32 [bijan]
looking it up
14:03:45 [Zakim]
+ +1.937.775.aaee
14:03:55 [AxelPolleres]
up: #41. hand down: #40
14:03:55 [bijan]
14:04:08 [bijan]
14:04:24 [LeeF]
zakim, aadd is pgearon
14:04:24 [Zakim]
+pgearon; got it
14:04:26 [LeeF]
14:04:32 [Zakim]
14:04:50 [LeeF]
zakim, 937 is prateek
14:04:50 [Zakim]
sorry, LeeF, I do not recognize a party named '937'
14:04:58 [LeeF]
zakim, aaee is prateek
14:04:58 [Zakim]
+prateek; got it
14:05:02 [LeeF]
zakim, who's on the phone?
14:05:02 [Zakim]
On the phone I see john-l, AxelPolleres, AndyS, kasei (muted), pgearon, SimonS, KjetilK (muted), bijan, AlexPassant, Lee_Feigenbaum, [Garlik], prateek, EricP
14:05:06 [Zakim]
[Garlik] has SteveH, LukeWM
14:05:39 [Prateek]
Prateek has joined #sparql
14:05:47 [bijan]
scribenick: bijan
14:06:35 [LeeF]
topic: admin
14:06:42 [LeeF]
PROPOSED: Approve minutes at
14:07:03 [AxelPolleres]
14:07:13 [LeeF]
RESOLVED: Approve minutes at
14:07:13 [bijan]
bijan has changed the topic to:
14:07:37 [bijan]
AndyS: Pity that the new minutes don't group axioms
14:07:44 [bijan]
LeeF: Pester Sanrdo.
14:07:56 [bijan]
14:08:18 [bijan]
LeeF: Meeting next week, same bat time, same bat channel, chime as scribe
14:08:25 [bijan]
Topic: Liasons
14:08:34 [bijan]
LeeF: Anything we need to know?
14:08:36 [bijan]
14:08:48 [AxelPolleres]
q+ on rdf-text
14:08:51 [bijan]
ericP: Lots of hot rdf:text action
14:08:51 [AlexPassant]
q+ to ask about Social Web XG liaison
14:08:54 [LeeF]
q- aadd
14:09:02 [LeeF]
q- +1.312.863.aadd
14:09:42 [bijan]
...What I can gather is that people are ok with inferred rdf:text being invisible to sparql query. But AndyS gave 3 proposals and I was in favor of 1. AndyS could you list them?
14:09:43 [LeeF]
q-i AxelPolleres
14:09:52 [bijan]
AndyS: Now? Is it agenda sane?
14:10:13 [bijan]
AxelPolleres: We are due to set up a telecon with all the related parties on it. Soon.
14:10:34 [bijan]
LeeF: Let's defer to the looped people until we have a proposed resolution.
14:10:46 [bijan]
...Any non-looped callers want to talk about it?
14:10:50 [bijan]
14:10:55 [SteveH]
not sure if I'm in the loop or not... I was
14:10:59 [LeeF]
ack AlexPassant
14:10:59 [Zakim]
AlexPassant, you wanted to ask about Social Web XG liaison
14:11:21 [bijan]
AlexPassant: There's a new XG on Social Web and I'd like to be the liaison for that
14:11:28 [bijan]
LeeF: Superfantastic!
14:11:30 [AndyS]
14:11:45 [bijan]
Topic: F2F1 recap
14:11:52 [AlexPassant]
14:11:52 [LeeF]
14:11:56 [LeeF]
14:12:18 [LeeF]
14:12:20 [bijan]
LeeF: The minutes are about ready, see links.
14:13:09 [bijan]
...we've decided to work on some things and we decided on a naming scheme, i.e., SPARQL/*, e.g., SPARQL/Query SPARQL/Update
14:13:38 [bijan]
...Sublanguages are independently versions, thus DAWG SPARQL/Query is 1.0 and our SPARQL/Query is 1.1
14:13:50 [bijan]
...Something about subselect or something
14:14:20 [bijan]
...Following AndyS's suggestion we'll have a wiki design template for all sorts of spec development.
14:14:22 [bijan]
14:14:37 [AxelPolleres]
14:15:01 [AxelPolleres]
14:15:02 [AxelPolleres]
14:15:09 [bijan]
LeeF: Let's go over status of Actions both to close ones that are read and to shame people who are slackin'
14:15:34 [iv_an_ru]
:( I'm late with sub-SELECT samples :(
14:15:59 [bijan]
...Right now the tracker is set up so anyone can close actions (not axioms). But the chairs would prefer that people would not *close* actions when done but set them to "pending review" so the chairs have an easier time with bookkeeping.
14:16:13 [LeeF]
14:16:19 [LeeF]
14:17:08 [SteveH]
q+ to say about action UI
14:17:14 [bijan]
LeeF: Also, Bijan explained that tracker will track email about an action or issue if you include anywhere in an email (ISSUE|ACTION):d+ where :d+ is the relevant action/issue number
14:17:23 [bijan] please do this!
14:17:24 [LeeF]
ack SteveH
14:17:24 [Zakim]
SteveH, you wanted to say about action UI
14:17:43 [SteveH]
14:17:47 [bijan]
SteveH: It also picks up uris of the action/issue
14:18:07 [bijan]
LeeF: Cool.
14:18:12 [bijan]
q+ to pimp it
14:18:20 [LeeF]
ack bijan
14:18:20 [Zakim]
bijan, you wanted to pimp it
14:18:31 [LeeF]
bijan: OWL experience is that this is super duper useful
14:18:42 [Zakim]
14:19:01 [bijan]
Topic: Pending review actions
14:19:26 [Zakim]
14:19:36 [bijan]
LeeF: ACTION-14 (bijan). It's done.
14:19:43 [LeeF]
trackbot, close ACTION-14
14:19:43 [trackbot]
ACTION-14 Send mail about issues in specifying OWL in SPARQL semantics closed
14:20:26 [bijan]
LeeF: ACTION-18 (Axel). We'll talk about this later in the call. It's good.
14:20:39 [LeeF]
trackbot, close ACTION-18
14:20:39 [trackbot]
ACTION-18 Write up a use case on !ASK in FILTERS to emulate negation closed
14:21:13 [LeeF]
trackbot, close ACTION-20
14:21:13 [trackbot]
ACTION-20 Send CONSTRUCT in FROM clause use case to mailing list re: ISSUE-7 closed
14:21:43 [LeeF]
trackbot, close ACTION-24
14:21:43 [trackbot]
ACTION-24 Explain potential design regarding aggregate functions with multiple answers for mixed datatypes re ISSUE-16 closed
14:22:22 [LeeF]
trackbot, close ACTION-25
14:22:22 [trackbot]
ACTION-25 Setup wiki template and feature stub pages based on slide 11 of closed
14:22:24 [LeeF]
trackbot, close ACTION-26
14:22:24 [trackbot]
ACTION-26 Stub out an initial example of a filled in feature template pending completion of ACTION-25 closed
14:23:02 [LeeF]
trackbot, close ACTION-27
14:23:02 [trackbot]
ACTION-27 Ask in DERI about whether RDF Forms/pushback uses WHERE in updates closed
14:23:21 [LeeF]
trackbot, close ACTION-30
14:23:21 [trackbot]
ACTION-30 Provide 3 uses cases on wiki closed
14:23:53 [LeeF]
trackbot, close ACTION-13
14:23:53 [trackbot]
ACTION-13 Write up how/whether assignment is subsumed by projected expressions + subqueries (tentative, with LukeWM) closed
14:24:13 [LeeF]
trackbot, close ACTION-29
14:24:13 [trackbot]
ACTION-29 Provide FOAF update use case on wiki closed
14:25:29 [bijan]
Topic: Review Template:DesignQL
14:25:32 [bijan]
14:26:16 [bijan]
LeeF: We can use this to put competing designs and even language side by side. AndyS?
14:27:13 [bijan]
AndyS: This is a bit tuned for the query language. Design early and often for concrete direction. <<Gives a blow by blow over template>>
14:28:03 [AndyS]
"design early - design often"
14:28:33 [bijan]
LeeF: And people should feel free to add bits to arbitrary sections.
14:28:54 [LeeF]
14:29:11 [bijan]
LeeF: Check out AndyS's first example for SubSelect
14:29:46 [bijan]
Topic: F&R document update?
14:30:04 [AlexPassant]
14:30:30 [bijan]
LeeF: Who's the audience? Potential implementors? WG wannabees? Users? AC reps?
14:30:50 [bijan]
...My answer is that this should target implementors and WG wannabees.
14:31:25 [AndyS]
+1 to keeping syntax up-to-date -- it caused people some confusion last time when we left old syntax around.
14:31:34 [bijan]
...I think we should maintain the syntax in the document because these documents are like diamonds...forever. So we can avoid people who stumble on the F&R won't be confused.
14:31:35 [iv_an_ru]
14:31:48 [SteveH]
I suspect the F&R should avoid syntax whereever possible
14:31:59 [bijan]
...However, I don't intend the N&F isn't a primer. So, concise, technical document.
14:32:05 [AlexPassant]
+1 for updating syntax when the WG agrees on it
14:32:12 [KjetilK]
Zakim, unmute me
14:32:15 [SteveH]
14:32:16 [Zakim]
KjetilK should no longer be muted
14:32:51 [bijan]
kjetil: My primary concern is how it'll be seen by people outside the SPARQL community. Current stuff is a bit terse.
14:33:19 [bijan]
LeeF: I sorta agree. I don't know what sort of review to expect. I think it's ok to presume familiarity with SPARQL
14:33:22 [bijan]
14:33:26 [LeeF]
ack SteveH
14:34:00 [bijan]
SteveH: I think we should avoid putting in speculative syntax whenever possible. Showing what can't be done is ok, but people *will* implement any scrap of anything no matter what the disclaimers.
14:34:13 [bijan]
LeeF: What about linking out to existing implementations.
14:34:27 [bijan]
SteveH: That should be ok. But makes people crazy.
14:34:31 [LeeF]
ack bijan
14:34:38 [KjetilK]
14:34:56 [LeeF]
bijan: recommend narrow scope, don't worry about general audience (which would cause a lot of extra work)
14:35:02 [SteveH]
+1 to not worrying about general audience, meant to say that too
14:35:11 [LeeF]
ack KjetilK
14:35:27 [bijan]
KJetikK: I'm worried that people will come and say it's not well motivated.
14:35:31 [bijan]
I don't think it's a worry.
14:35:59 [bijan]
LeeF: I'm not too worried about it. I expect most feedback from the implementors community.
14:36:19 [bijan]
Also, if someone does have a question, we can deal with it as it arises.
14:36:30 [KjetilK]
Zakim, mute me
14:36:30 [Zakim]
KjetilK should now be muted
14:36:37 [bijan]
Topic: Feature overview: Feature:Negation
14:36:49 [bijan]
14:36:49 [LeeF]
14:37:26 [bijan]
LeeF: So, let's follow the F2F pattern. First get a sense of existing implementions. Fine design issues and start workign on it.
14:37:59 [bijan]
...Start with overview. Take it to email. Move things back to telecon on a "obvious need" basis.
14:38:54 [bijan]
...Kicking off negation discussion. You can do just about all the use cases in S/Q 1.0 using optional and notbound. Which is so ugly I'd rather watch videos of parasitic wasps emerging from their catapiller hosts.
14:39:18 [bijan]
...There are several design out there, but I'd like to know what people do now.
14:39:35 [LeeF]
zakim, who's here?
14:39:35 [Zakim]
On the phone I see john-l, AxelPolleres, AndyS, kasei (muted), pgearon, SimonS, KjetilK (muted), bijan, AlexPassant, Lee_Feigenbaum, [Garlik], prateek, EricP
14:39:37 [bijan]
...AndyS, do you have an implementation of simpler negation?
14:39:39 [Zakim]
[Garlik] has SteveH, LukeWM
14:39:40 [Zakim]
On IRC I see Prateek, SteveH, LukeWM, pgearon, Zakim, SimonS, RRSAgent, AxelPolleres, john-l, bijan, AndyS, karl, AndyS_, LeeF, trackbot, iv_an_ru, kasei, kjetil, AlexPassant,
14:39:43 [Zakim]
... KjetilK, ericP
14:39:48 [kasei]
Zakim, unmute me
14:39:48 [Zakim]
kasei should no longer be muted
14:39:53 [bijan]
AndyS: Nothing in release version. Most of my thoughts go back to UNSAID in DAWG.
14:40:07 [ericP]
i implemented UNSAID in Algae2
14:40:09 [ericP]
it worked
14:40:12 [ericP]
14:40:38 [bijan]
kasei: We do UNSAID.
14:40:52 [bijan]
pgearon: we have a minus operator.
14:40:53 [AlexPassant]
no negation in ARC2/SPARQL+
14:40:58 [bijan]
LeeF: Is that like UNSAID?
14:41:06 [bijan]
pgearon: sorta
14:41:12 [AndyS]
q+ to ask about MINUS
14:41:26 [AxelPolleres]
Sesame/SeRQL has MINUS
14:41:40 [LeeF]
ack AndyS
14:41:40 [Zakim]
AndyS, you wanted to ask about MINUS
14:41:41 [AxelPolleres]
SimonS: Sesame/SeRQL has MINUS
14:42:03 [bijan]
AndyS: Is your minus a set based (each side has to have the same shape) or not?
14:42:22 [bijan]
pgearon: It's set based. It's sorta like an inner join. I have a posting that describes that it detail.
14:42:30 [bijan]
AndyS: Please send the pointer?
14:42:37 [bijan]
pgearon: I'm looking for it.
14:42:59 [bijan]
bijan: None of the owl ones do, to my knowledge.
14:43:08 [SimonS]
q+ to summarize MINUS in SeRQL
14:43:16 [bijan]
LeeF: because I'm a sadist, glitter forces you to do it the waspy way
14:43:22 [bijan]
SteveH: We don't do it.
14:43:46 [bijan]
Prateek: We don't have it.
14:43:56 [LeeF]
iv_an_ru, what does Virtuoso do for negation?
14:43:59 [bijan]
LeeF: Anyone know what Virtuoso?
14:44:05 [bijan]
AndyS: The might have exists?
14:44:09 [pgearon]
I wrote about my description of MINUS in a blog post 2004-10-05:
14:44:11 [AxelPolleres]
we had some very prototypical implementation of ASK in FILTERs ind dlvhex (LP engine based SPARQL implementation)... not released.
14:44:20 [pgearon]
(skip the first section on owl:sameAs)
14:44:21 [iv_an_ru]
we have subqueries and ! operator, that's enough
14:44:28 [SimonS]
14:44:37 [iv_an_ru]
We don't have MINUS or UNSAID
14:44:50 [bijan]
SimonS: I checked the docs and found that minus is set based in Seqrl and exists which is Not...something
14:44:54 [iv_an_ru]
We've never seen requests for them
14:45:18 [bijan]
SimonS: Minus is an operator that takes two queries and from the results of the first query remove the elements of the second query.
14:45:31 [LeeF]
s/...something/ ASK/
14:45:41 [bijan]
...EXISTS is NOT ASK filter
14:46:00 [pgearon]
sounds like the two sets must bind the same variables, is that right?
14:46:12 [bijan]
LeeF: I presume a good deal of discussion will revolve around which sort, but we're going to defer.
14:46:24 [bijan]
...From what we've just heard and discussion on the list there are three designs:
14:46:40 [bijan]
...1) Binary operator that acts on subqueries (SERQL Minus)
14:46:55 [bijan]
...2) Binary operator *in* a graph pattern (e.g., UNSAID)
14:47:40 [bijan]
...3) Not exists approach (filter based). AndyS pointed out in email that it wouldn't be exactly the semantics of the compositional form. So maybe a different name
14:47:58 [bijan]
LeeF: Does that design space seem right?
14:48:08 [bijan]
pgearon thinks the FILTER based approach is similar to a SQL left-outer-join
14:48:23 [bijan]
LeeF: Silence is UNSAID assent
14:48:34 [SteveH]
I don't understand pgearon's point
14:48:57 [bijan]
...We need to decide between these.
14:49:07 [AndyS]
14:49:34 [iv_an_ru]
AndyS, the similarity is advantage ;)
14:49:37 [LeeF]
ISSUE: Should negation be done via a binary operator on subqueries, a binary operator within graph patterns, or a filter+subquery?
14:49:37 [trackbot]
Created ISSUE-29 - Should negation be done via a binary operator on subqueries, a binary operator within graph patterns, or a filter+subquery? ; please complete additional details at .
14:50:18 [bijan]
LeeF: Get we get some voluteers for UNSAID and MINUS to talk designs on the mailing list.
14:50:19 [bijan]
14:50:23 [bijan]
ericP: Plus contrasts
14:50:29 [LeeF]
q- SimonS
14:50:31 [SimonS]
14:50:35 [bijan]
14:50:42 [bijan]
bijan: Email or design template
14:50:46 [AxelPolleres]
ISSUE-29 relates to ISSUE-5 (how again do I bring trackbot to link that?)
14:50:50 [bijan]
AndyS: at first, email is better.
14:52:06 [Zakim]
14:52:11 [bijan]
LeeF: I want to make the barrier to entry very low. So if they can put it in the template, great.
14:52:19 [bijan]
AndyS: Email is nice because it's push.
14:52:40 [bijan]
ericP: I'd love to work on UNSAID with SimonS since he has both
14:52:45 [LeeF]
ACTION: ericP to work with SimonS on explaining and comparing UNSAID and MINUS
14:52:45 [trackbot]
Sorry, couldn't find user - ericP
14:52:52 [LeeF]
ACTION: Eric to work with SimonS on explaining and comparing UNSAID and MINUS
14:52:52 [trackbot]
Created ACTION-32 - Work with SimonS on explaining and comparing UNSAID and MINUS [on Eric Prud'hommeaux - due 2009-05-26].
14:53:15 [Zakim]
14:53:23 [kasei]
Zakim, P5 is me
14:53:23 [Zakim]
sorry, kasei, I do not recognize a party named 'P5'
14:53:25 [bijan]
LeeF: pgearon and kasei if you want to chime in, please do in email
14:53:55 [KjetilK]
Zakim, ??P5 is kasei
14:53:55 [Zakim]
+kasei; got it
14:54:06 [kasei]
thanks KjetilK
14:54:18 [bijan]
LeeF: Any other questions or discussions about negation? iv_an_ru said on irc that they've received no request for negation in graph patterns. So contrasting experience?
14:54:31 [bijan]
ericP: When I did it I didn't have subselects, so it was the only obvious way to do it.
14:54:39 [bijan]
LeeF: Do you have a gut feeling now as to preference?
14:55:01 [SteveH]
+1 to ericP
14:55:05 [SteveH]
my feeling too
14:55:06 [bijan]
ericP: SQL users are used to a subselect and a not. But to me it has a similar feel to an optional so prefer the ingraph thing
14:55:12 [SimonS]
+1 to ericP
14:55:17 [bijan]
LeeF: kasei?
14:55:40 [bijan]
kasei: well, i don't have a lot of experience. I threw it it for kicks. I agree with ericP about the design.
14:56:12 [bijan]
LeeF: AndyS? When you had it what did you have?
14:56:16 [AxelPolleres]
14:56:24 [KjetilK]
q+ to ask about optimisations
14:56:33 [bijan]
AndyS: It was UNSAID.
14:56:39 [iv_an_ru]
I have no technical difficulties with MINUS, we have a similar thing in SQL, but I don't know whether it will be popular.
14:56:48 [LeeF]
ack AxelPolleres
14:57:06 [bijan]
AxelPolleres: Does anyone have a preference *against* having both?
14:57:40 [bijan]
LeeF: From scuttlebut, there are people who prefer minimality. For me, I'd only have both if there was a clear functional difference.
14:57:55 [bijan]
AxelPolleres: Reversing it, is there use cases not covered by one but by the other
14:57:57 [AndyS]
I don't understand the usability of MINUS. We might be only a little bit better than OPTIONAL/!BOUND, but I hope Simon+Eric will show that to be a false worry.
14:58:02 [bijan]
ericP: [[scribe lost it]]
14:58:06 [iv_an_ru]
I'm lazy, that's the only reason I have agains MINUS
14:58:45 [LeeF]
ack kjetil
14:58:45 [pgearon]
AndyS, can you please elaborate?
14:58:47 [Zakim]
KjetilK, you wanted to ask about optimisations
14:58:55 [AxelPolleres]
UNSAID { } vs. FILTER ( !EXISTS { } ... any of the two more expressive?
14:59:02 [bijan]
ericP: My suspicious that given that object of an UNSAID is a graph pattern you could stick a subselect there which is a scribe tormenting way to say "No".
14:59:12 [bijan]
KjetilK: Does it matter for optimization?
14:59:29 [AxelPolleres]
UNSAID { } vs. FILTER ( !EXISTS { } ... any of the two easieer to optimize?
14:59:34 [bijan]
ericP: My guess is that UNSAID is easier to optimize because you can exhaust possibilities more easily
15:00:35 [AxelPolleres]
what if the EXISTS is wrapped into a more complext FILTER expression? Is that the same as wrapping the complex filter inside the UNSAID pattern?
15:00:49 [bijan]
AndyS: I think any of the cases can be done with either. FILTER(!EXISTS... makes it easier to combine with other conditions. UNSAID controls the position of the negation. Optimization: it should be easy to spot when FILTER(!exists is the same as an UNSAID
15:01:04 [SimonS]
AxelPolleres: Outside of the UNSAID.
15:01:14 [KjetilK]
Zakim, mute me
15:01:14 [Zakim]
KjetilK should now be muted
15:01:27 [Zakim]
15:01:33 [AndyS]
{P} FILTER(!EXISTS{Q}) looks to me exactly the binary {P} UNSAID {Q} (he said boldly)
15:01:33 [LeeF]
15:01:45 [bijan]
LeeF: Doesn't seem like a huge design space so we should be able to check each out and make progess.
15:01:53 [AndyS]
i.e. add {} to the lefty of filter form to foce order.
15:01:55 [SteveH]
AndyS, how sure of that are you?
15:02:15 [AndyS]
Very .. er .. reasonably
15:02:17 [bijan]
LeeF: Adjourned!
15:02:19 [SteveH]
ah, yeah, with the extra {}s
15:02:25 [Zakim]
15:02:25 [Zakim]
15:02:28 [AndyS]
Let's use the phone in a memo
15:02:29 [SteveH]
that's a bit of a special case though
15:02:34 [AndyS]
Let's use the phone in a mement.
15:03:28 [AndyS]
Yes - adding the {} controls the filter placement. It's a trick/idiom.
15:03:46 [Zakim]
15:04:02 [KjetilK]
Zakim, who is on the phone?
15:04:02 [Zakim]
On the phone I see AndyS, pgearon, SimonS, KjetilK (muted), AlexPassant, Lee_Feigenbaum, [Garlik], prateek, kasei
15:04:04 [Zakim]
[Garlik] has SteveH, LukeWM
15:04:46 [Zakim]
15:05:36 [KjetilK]
Zakim, unmute me
15:05:36 [Zakim]
KjetilK should no longer be muted
15:06:57 [Zakim]
15:07:14 [Zakim]
15:07:20 [SimonS]
SimonS has left #sparql
15:07:34 [pgearon]
most of the time I only need to "MINUS" a simple triple pattern, but the original use case needed a complex expression
15:08:07 [LeeF]
what was the original use case? is it written down somewhere?
15:08:22 [pgearon]
It was 5 years ago. :-)
15:08:57 [LeeF]
what's the statute of limitations on use cases? :)
15:09:38 [Zakim]
15:10:00 [pgearon]
It was along the lines of: select everyone who :worksFor a department, exception those people who have rdf:type :Student and who have not submitted their thesis (indicated by {?student :wrote ?thesis . ?thesis :docType :Thesis . ?thesis dc:published ?publishDate {)
15:10:01 [Zakim]
15:10:03 [Zakim]
15:10:16 [LukeWM]
LukeWM has joined #sparql
15:10:24 [Zakim]
15:10:29 [Zakim]
15:10:31 [Zakim]
15:10:31 [Zakim]
SW_(SPARQL)10:00AM has ended
15:10:32 [Zakim]
Attendees were +1.216.445.aaaa, john-l, +3539149aabb, AndyS, AxelPolleres, +0005aacc, +1.312.863.aadd, KjetilK, kasei, bijan, SimonS, Lee_Feigenbaum, AlexPassant, SteveH, LukeWM,
15:10:34 [Zakim]
... +1.937.775.aaee, pgearon, EricP, prateek
15:10:59 [pgearon]
Essentially, the use case came down to whenever a query selected something "Except" a particular set of things
15:11:21 [pgearon]
The "except" was always an indicator
15:16:41 [AndyS]
I wonder if a style difference is between negation over individuals (more MINUS centric?) and over triples?
15:17:19 [pgearon]
That may be
15:17:21 [AndyS]
Or another way for individuals is !EXISTS(SELECT ?X{...})
15:18:51 [pgearon]
negation over triples seems to concentrate on simple BGPs, while negation over individuals makes it more natural to remove a GroupGraphPattern
15:19:07 [SteveH]
SteveH has joined #sparql
15:19:46 [pgearon]
For individuals, yes, but it makes it hard if you need to remove things based on a tuple
15:20:16 [pgearon]
though I've only ever run into the need for that once, and it was years ago
15:45:32 [AxelPolleres]
AxelPolleres has left #sparql
17:31:45 [Zakim]
Zakim has left #sparql
17:38:54 [SteveH]
SteveH has joined #sparql