Chatlog 2009-05-19

From SPARQL Working Group
Jump to: navigation, search

See original RRSAgent log and preview nicely formatted version.

Please justify/explain all edits to this page, in your "edit summary" text.

<LeeF> present: bijan, lee, eric, axel, alex, KjetilK, andy, steve, LukeWM, prateek, iv_an_ru, john-l, SimonS, kasei, pgearon
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
14:03:55 <bijan> 41# 
14:04:08 <bijan>
<LeeF> chair: LeeF
<LeeF> agenda:
<LeeF> scribenick: bijan
14:06:35 <LeeF> topic: admin
14:06:42 <LeeF> PROPOSED: Approve minutes at
14:07:03 <AxelPolleres> +1
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 actions
14:07:44 <bijan> LeeF: Pester Sanrdo.
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> Crickets.
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> <crickets>
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> ...Questions?
14:14:37 <AxelPolleres>
14:15:01 <AxelPolleres>  Example: 
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 URI
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 URI
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> -EricP
14:19:01 <bijan> Topic: Pending review actions
14:19:26 <Zakim> +EricP
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> +1
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> q+
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> q+
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> q+
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> KJetilK: 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: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 ASK
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: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> FILTER/EXISTS is very like SQL EXISTS.
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> q+
14:50:23 <bijan> ericP: Plus contrasts
14:50:29 <LeeF> q- SimonS
14:50:31 <SimonS> q-
14:50:35 <bijan> q-
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> -kasei
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> +??P5
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> q+
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> -AxelPolleres
15:01:33 <AndyS> {P} FILTER(!EXISTS{Q}) looks to me exactly the binary {P} UNSAID {Q}   (he said boldly) 
15:01:33 <LeeF> q?
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:29 <SteveH> that's a bit of a special case though