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