Chatlog 2010-03-02

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.

14:52:23 <RRSAgent> RRSAgent has joined #sparql
14:52:23 <RRSAgent> logging to
14:52:25 <trackbot> RRSAgent, make logs world
14:52:25 <Zakim> Zakim has joined #sparql
14:52:27 <trackbot> Zakim, this will be 77277
14:52:27 <Zakim> ok, trackbot; I see SW_(SPARQL)10:00AM scheduled to start in 8 minutes
14:52:28 <trackbot> Meeting: SPARQL Working Group Teleconference
14:52:28 <trackbot> Date: 02 March 2010
14:52:36 <LeeF> Chair: LeeF
14:52:39 <LeeF> scribenick: sandro
14:52:49 <LeeF> Regrets: AxelP, SteveH, Souri
14:52:55 <LeeF> Agenda:
14:56:31 <Prateek> Prateek has joined #sparql
14:57:00 <LeeF> zakim, this will be SPARQL
14:57:00 <Zakim> ok, LeeF; I see SW_(SPARQL)10:00AM scheduled to start in 4 minutes
14:57:23 <MattPerry> MattPerry has joined #sparql
14:57:59 <Zakim> SW_(SPARQL)10:00AM has now started
14:58:05 <Zakim> +[IPcaller]
14:58:16 <AndyS> zakim, [IPcaller] is me
14:58:16 <Zakim> +AndyS; got it
14:58:23 <Zakim> +MattPerry
14:58:31 <ivan> zakim, dial ivan-voip
14:58:31 <Zakim> ok, ivan; the call is being made
14:58:32 <Zakim> +Ivan
14:59:01 <Zakim> + +1.310.729.aaaa
14:59:08 <kasei> Zakim, aaaa is me
14:59:08 <Zakim> +kasei; got it
14:59:13 <Zakim> +pgearon
14:59:55 <dcharbon2> dcharbon2 has joined #sparql
15:00:07 <Zakim> +LeeF
15:00:50 <LeeF> zakim, who's on the phone?
15:00:50 <Zakim> On the phone I see AndyS, MattPerry, Ivan, kasei, pgearon, LeeF
15:01:24 <kasei> Zakim, who is talking?
15:01:32 <ivan> i do not hear anybody
15:01:32 <kasei> very loud typing...
15:01:35 <Zakim> kasei, listening for 10 seconds I heard sound from the following: Ivan (19%)
15:01:37 <Zakim> +dcharbon2
15:01:40 <ivan> zakim, mute me
15:01:40 <Zakim> Ivan should now be muted
15:01:43 <LeeF> ivan, can you hear me?
15:01:46 <ivan> no
15:01:50 <ivan> not a word
15:01:51 <LeeF> i'm talking to you :)
15:01:58 <LeeF> reconnect?
15:01:58 <ivan> dialling back
15:02:04 <ivan> zakim, drop me
15:02:04 <Zakim> Ivan is being disconnected
15:02:04 <MattPerry> yes
15:02:06 <Zakim> -Ivan
15:02:19 <ivan> zakim, dial ivan-voip
15:02:23 <LeeF> PROPOSED: Approve minutes at
15:02:26 <Zakim> ok, ivan; the call is being made
15:02:28 <Zakim> +Ivan
15:02:54 <Zakim> +Sandro
15:03:46 <LeeF> topic: Admin
15:04:08 <LeeF> RESOLVED: Approve minutes at
15:04:20 <LeeF> Next meeting: 2010-03-09 @ 15:00 UK / 10:00 EST (scribe: Souri) 
15:04:35 <bglimm> bglimm has joined #sparql
15:05:01 <pgearon> My boss has refused to answer me about the trip, so I have no idea about my attendance
15:05:57 <LeeF> Please take a look at Greg's email re: service descriptiona nd result formats and let your voice be heard if you have an opinion
15:06:06 <Zakim> +bglimm
15:06:29 <bglimm> Zakim, mute me
15:06:29 <Zakim> bglimm should now be muted
15:07:09 <LeeF>  re: F2F3 -- agenda will be test cases + most pressing issues
15:07:25 <LeeF> with goal of publishing something in early Apriul and then heads down to Last Call
15:07:43 <LeeF> topic: Liaisons
15:07:57 <LeeF> sandro: nothing significant from RIF or eGov - RIF issues being handled by entailment TF
15:08:41 <LeeF> LeeF: RDB2RDF working group minutes indicate a question abou SPARQL expressivityu
15:08:45 <LeeF> ... not sure of any aactions for usyet
15:08:53 <LeeF> topic: Update
15:08:58 <LeeF> subtopic: blank nodes
15:09:43 <AndyS> Option 1: bnodes not allowed in templates 
15:09:59 <AndyS> Option 2: bnodes allowed but are real (and new) bnodes => don't match
15:10:18 <AndyS> Option 3: bnodes act as variables like query patterns 
15:10:35 <LeeF>
15:10:39 <Zakim> +??P48
15:10:45 <AlexPassant> Zakim, ??p48 is me
15:10:45 <Zakim> +AlexPassant; got it
15:11:41 <LeeF> pgearon: leaning is to not allow blank nodes in templates
15:12:49 <LeeF> AndyS: if we treated it as in CONSTRUCVT, would lead to OPtion 2
15:12:56 <LeeF> ... might be more convenient to treat them as variables?
15:13:08 <LeeF> sandro: one use case for treating as variables would be to delete lists?
15:13:18 <AndyS> sandro: Example: DELETE WHERE { ?x :p (1 2 3) }
15:13:43 <AndyS> .. suggests option 3
15:14:14 <LeeF> ... is there any other way to do this that's not very tedious?
15:15:27 <LeeF> pgearon: if I specify 3 blank nodes in my template ... then I might expect that they might bind to 3 differnet blank nodes in the graph, whereas they can bind to the same or to different blank nodes
15:16:31 <LeeF> LeeF: my concern is repeating the same blank node label repeated in the WHERE and template, a la:
15:17:04 <LeeF> DELETE { _:b1 rdf:type foaf:Person } WHERE { _:b1 rdf:type foaf:Member ; ex:haveStatus "not a person" }
15:18:13 <LeeF> AndyS: blank nodes in query are scoped to BGPs
15:18:17 <LeeF> ... they can't be re-used elsewhere
15:18:23 <LeeF> (the label can't be reused elsewhere)
15:18:40 <LeeF> ... coul have the same syntactic rule here - a label cannot be reused out of scope in an operation
15:18:40 <bglimm> so it would be the same as DELETE { [] rdf:type foaf:Person } WHERE { [] rdf:type foaf:Member ; ex:haveStatus "not a person" }
15:20:02 <LeeF> DELETE { _:b1 rdf:type foaf:Person }
15:20:08 <LeeF> DELETE WHERE { _:b1 rdf:type foaf:Person }
15:20:42 <LeeF> DELETE { _:b1 rdf:type foaf:Person } WHERE { _:b1 rdf:type foaf:Person }
15:21:04 <ivan> q+
15:21:25 <LeeF> pgearon: looking at it, seems likely to confuse people - option 1 might be best?
15:21:43 <ivan> q-
15:21:53 <LeeF> ... people will expect that _:b1 is the same thing, even if they should be using a named variable
15:22:18 <bglimm> Even under option 1 the query DELETE WHERE { _:b1 rdf:type foaf:Person } would still be allowed, right?
15:22:26 <AndyS> SPARQL sec 5.1.1
15:22:29 <LeeF> bglimm, good question :)
15:23:18 <ivan> bglimm, I would say it is not, because I would like to see that as an abbreviation...
15:24:20 <LeeF> sandro: allow blank nodes only without labels (square brackets)?
15:24:22 <bglimm> Hm. I see that it would be nice to have it as an abbreviation, but than it is quite a restriction.
15:24:59 <LeeF> AndyS: not ideal because sometimes you use labels for structure
15:25:22 <kasei>  _:x foaf:knows _:x
15:25:23 <AndyS> DELETE WHERE { :x :p _:b . :y :q _:b }
15:25:24 <LeeF> ... e.g. the case of shared objects
15:26:03 <LeeF> sandro: we'd prefer anyway that you handle that with variables rather than blank nodes?
15:26:09 <sandro> scribe: sandro
15:27:20 <sandro> LeeF: Andy, what does your implementation do?
15:27:31 <bglimm> but what does DELETE { _:b1 rdf:type foaf:Person } WHERE { _:b1 rdf:type foaf:Person } do?
15:27:34 <sandro> AndyS: I don't have a short form of Delete.
15:27:50 <sandro> LeeF: Well, what about the long from?
15:27:58 <sandro> AndyS: Either parse error or like CONSTRUCT
15:29:17 <sandro> sandro: I'm liking disallowing named blank node labels.   It seems to avoid the danger, while allowing the things we really want.
15:29:27 <AndyS> A template may include GRAPH and so nested {}
15:29:48 <sandro> lee: Yeah, but I prefer using the same restriction as in query, where you can't use the same node label in multiple graph patterns.
15:30:27 <LeeF> DELETE WHERE { _:b1 rdf:type foaf:Person }
15:30:49 <AndyS> q+
15:31:17 <bglimm> I could live with parse errors in case you use the same label in different patterns. That way at least you have to use different labels and makes it explicit that they are different bnodes and it still allows you to reuse the same bnode within one pattern. 
15:32:10 <LeeF> DELETE WHERE { _:b1 rdf:type foaf:Person }  -->  DELETE { _:b1 rdf:type foaf:Person } WHERE { _:b1 rdf:type foaf:Person }
15:32:31 <sandro> lee: which would be illegl, since _:b1 is used in two plces....
15:32:37 <LeeF> ack AndyS
15:32:54 <sandro> zakim: who is here?
15:34:08 <bglimm> Zakim, unmute me
15:34:10 <sandro> AndyS: I'm more comfortable with the repeated labels restriction, since I've already implemented it.
15:34:14 <Zakim> bglimm should no longer be muted
15:34:22 <bglimm> Fine for me. 
15:35:58 <sandro> sandro: blank nodes in the delete pattern act as variables, where the delete pattern is implicitely conjoined into the WHERE pattern.
15:36:44 <LeeF> PROPOSED: blank nodes in the delete pattern act as variables, where the delete pattern is implicitely conjoined into the WHERE pattern and also the same blank node label may not be used in multiple BGPs or in the WHERE pattern and the template
15:36:51 <sandro> AndyS: And blank node labels are not allowed to occur in both the DELETE pattern and WHERE pattern.
15:37:57 <sandro> AndyS: So is it acting like in construct, or like a free variable?
15:38:03 <LeeF> PROPOSED: blank nodes in the delete pattern act as free variables and also the same blank node label may not be used in multiple BGPs or in the WHERE pattern and the template
15:38:11 <sandro> LeeF: Like a free variable.
15:38:42 <sandro> sandro: I don't think the term "free variable" helps us.
15:39:17 <sandro> lee: The blank nodes in the DELETE pattern act sort of like wildcards, bound in each way the pattern could match.
15:39:45 <LeeF> DELETE { ?person rdf:type foaf:Person } WHERE { }
15:39:49 <kasei> I'm having trouble hearing over the typing
15:39:59 <sandro> ivan: Isn't it enough to just say blank nodes in the delete pattern need to be different from in the WHERE pattern.
15:40:00 <LeeF> DELETE { _:person rdf:type foaf:Person } WHERE { }
15:40:23 <sandro> Lee: In this, nothing would be deleted:   DELETE { ?person rdf:type foaf:Person } WHERE { }
15:40:42 <sandro> Lee: In this, all Persons would be deleted:  DELETE { _:person rdf:type foaf:Person } WHERE { }
15:41:36 <sandro> sandro: maybe this should be written up, first?
15:41:56 <sandro>  unknown_person: what do blank nodes in the DELETE template give us?
15:42:03 <sandro> Lee: deleting lists, at least
15:42:08 <AndyS> Use case: DELETE WHERE { :x :p (1 2 3) }
15:42:10 <LeeF> s/someone:/pgearon:
15:42:38 <bglimm> I could see it being useful in the OWL context (should�delete ever be supported in such a setting) because many OWL constructs use bnodes in the triple form. 
15:43:01 <LeeF> bglimm, thanks I was vaguely wondering that
15:43:16 <AndyS> Use case: DELETE WHERE { :x :p (1 2 ?x) }
15:43:56 <sandro> (I don't suppose SPARQL allows    (1 2 | ?x) .... )
15:44:24 <ivan> DELETE { something somethingelse _:b ; bbb ccc :_b } WHERE { ..... }
15:44:31 <sandro> Ivan: Folks may want to use blank nodes in the DELETE pattern to tie together structures not mentioned in the WHERE pattern.
15:45:15 <sandro> Lee: Just put that in the WHERE pattern.   If there is no WHERE pattern, then it just works.
15:45:45 <sandro> lee: If you turn the blank nodes into variables.
15:46:30 <LeeF> Use case: DELETE { :x :p (1 2 3) } WHERE { }
15:47:14 <sandro> AndyS: That doesn't work, because it's like construct
15:47:24 <sandro> lee: In the view I'm proposing, it would work.
15:47:30 <AndyS>  CONSTRUCT { :x :p (1 2 3) } WHERE { } is quite different.
15:47:58 <sandro> paul: Wouldn't that delete ALL losts of 1, 2, and 3 ?
15:48:04 <sandro> s/losts/lists/
15:48:14 <sandro> Lee: I'm happy to try to write this up.
15:48:28 <LeeF> ACTION: Lee to summarize discussion on blank nodes in DELETE on mailing list
15:48:28 <trackbot> Created ACTION-201 - Summarize discussion on blank nodes in DELETE on mailing list [on Lee Feigenbaum - due 2010-03-09].
15:48:29 <AndyS> No - because :x :p ?x matches.
15:49:22 <pgearon> short form: DELETE WHERE xxxxxxxx 
15:49:33 <pgearon> DELETE xxxxxxxx WHERE xxxxxxxxx
15:49:33 <sandro> (various people seeing smileys from their IRC clients on these example texts... !)
15:50:57 <sandro> paul: where xxxxxxxx can be anything, BGPs.
15:51:04 <bglimm> So this basically means bnodes cannot be used in the delete short form and they can be used in the expanded forms if the bnode labels are different in the template and the pattern
15:51:25 <sandro> AndyS: I thought we were restricting the template xxxxxxxxx to be BGPs and graphs.
15:51:30 <LeeF> bglimm, yes, if that's what we end up going with :)
15:51:54 <bglimm> Ok, lets see. 
15:53:46 <sandro> topic: Fault handling in Query Protocol
15:55:12 <AndyS> In HTTP version, what are the status codes of e.g. GraphDoesNotExist?
15:55:14 <AndyS> q+
15:55:17 <sandro> lee: the Graph-does-not-Exist fault, ... that was before we decided last week that graphs should be implicitely created.
15:55:23 <dcharbon2> It does predate, I agree that it's no longer relevant
15:55:40 <bglimm> q+ to ask about the place and time to talk about errors from entailment regimes
15:55:51 <bglimm> Zakim, unmute me
15:55:51 <Zakim> bglimm was not muted, bglimm
15:56:26 <sandro> LeeF: You might still want to get an error if you try to create a graph that already exists, or drop a graph that doesn't exist.
15:56:44 <LeeF> ack AndyS
15:57:20 <sandro> AndyS: I thought we said last week that it was legal for implementations to implicitely create  graph, not that they had to.
15:57:31 <sandro> LeeF: Ummmm.
15:57:42 <sandro> AndyS: A service might not allow creation of graphs
15:57:54 <Zakim> -AlexPassant
15:57:59 <sandro> Lee: Sure, if explicit create doesnt work, than implicit wont
15:58:28 <sandro> Lee: I understood last week to be deciding that we didn't want to support the situation where an end point REQUIRED EXPLICIT create.
15:58:44 <sandro> AndyS: I didn't catch that, but I'm fine with that reading.
15:58:45 <LeeF> q?
15:59:18 <LeeF> ack bglimm
15:59:18 <Zakim> bglimm, you wanted to ask about the place and time to talk about errors from entailment regimes
15:59:32 <sandro> paul: Agreed -- we were never going to force users to call CREATE.     They could always use implicit creation, if creation works.
15:59:53 <AndyS> So CREATE is to be removed from the spec?
16:00:00 <sandro> bglimm: At some point we need to talk about how errors/faults from entailment regimes are reported.
16:00:21 <Zakim> +??P26
16:00:25 <AlexPassant> Zakim, ??p26 is me
16:00:25 <Zakim> +AlexPassant; got it
16:00:39 <sandro> LeeF: Let's try to push some of these conversations more in e-mail.
16:01:05 <sandro> ADJOURN
16:01:08 <Zakim> -Ivan
16:01:11 <bglimm> bye
16:01:11 <Zakim> -LeeF
16:01:12 <ivan> bye guys
16:01:14 <Zakim> -pgearon
16:01:16 <Zakim> -MattPerry
16:01:18 <Zakim> -bglimm
16:01:18 <sandro> RRSAgent, make logs public
16:01:22 <Zakim> -kasei
16:01:24 <Zakim> -AlexPassant
16:01:32 <Zakim> -dcharbon2
16:01:36 <Zakim> -AndyS
16:01:44 <Zakim> -Sandro
16:01:46 <Zakim> SW_(SPARQL)10:00AM has ended
16:01:48 <Zakim> Attendees were AndyS, MattPerry, Ivan, +1.310.729.aaaa, kasei, pgearon, LeeF, dcharbon2, Sandro, bglimm, AlexPassant