16:25:58 RRSAgent has joined #sparql 16:25:58 logging to http://www.w3.org/2009/11/03-sparql-irc 16:26:00 RRSAgent, make logs world 16:26:00 Zakim has joined #sparql 16:26:02 Zakim, this will be 77277 16:26:02 ok, trackbot; I see SW_SPARQL(TPAC)11:30AM scheduled to start in 4 minutes 16:26:03 Meeting: SPARQL Working Group Teleconference 16:26:03 Date: 03 November 2009 16:26:20 zakim, dial suite_a 16:26:20 ok, AxelPolleres; the call is being made 16:26:21 SW_SPARQL(TPAC)11:30AM has now started 16:26:22 +Suite_a 16:26:36 zakim, what is the conference code? 16:26:36 the conference code is 77277 (tel:+1.617.761.6200 tel:+33.4.89.06.34.99 tel:+44.117.370.6152), AndyS 16:26:45 zakim, who is on the phone? 16:26:45 On the phone I see Suite_a 16:26:58 zakim, suite_a has kasei, AxelPolleres 16:26:58 +kasei, AxelPolleres; got it 16:27:16 +??P2 16:27:23 zakim, ??P2 is me 16:27:23 +AndyS; got it 16:27:34 +??P3 16:27:41 comming 16:27:43 LukeWM is ??P3 16:27:55 +bglimm 16:28:02 zakim, ??P3 is LukeWM 16:28:02 +LukeWM; got it 16:28:12 Zakim, mute me 16:28:12 bglimm should now be muted 16:28:17 thanks for getting the phone fixed AxelPolleres 16:28:32 hi 16:28:43 hi 16:28:51 paul, are you planning to dial in? 16:29:27 +yolanda 16:29:35 LeeF has joined #sparql 16:30:25 http://www.w3.org/2009/sparql/wiki/F2F2 16:30:39 zakim, mute me 16:30:39 AndyS should now be muted 16:30:54 http://www.w3.org/2009/sparql/wiki/F2F2_Issue_Discussions 16:31:15 scribe: AxelPolleres 16:31:23 Which are the non-contraversail issues that are sort-of closed? 16:31:41 scribenick: LeeF 16:32:09 rrsagent, pointer? 16:32:09 See http://www.w3.org/2009/11/03-sparql-irc#T16-32-09 16:32:11 OK. Will look 16:32:14 http://www.w3.org/2009/sparql/wiki/Agenda-F2F2#Day_2:_Morning:_Update_and_Remaining_Query_Issues 16:32:14 + +1.919.543.aaaa 16:32:18 zakim, who's here? 16:32:18 On the phone I see Suite_a, AndyS (muted), LukeWM, bglimm (muted), yolanda, +1.919.543.aaaa 16:32:21 Suite_a has kasei, AxelPolleres 16:32:22 On IRC I see LeeF, Zakim, RRSAgent, AxelPolleres, dcharbon2, Prateek, bglimm, LukeWM, AndyS, ivan, pgearon, karl, KjetilK, kasei, iv_an_ru, sandro, kjetil, ericP, trackbot 16:32:33 Hi David! 16:32:38 zakim, aaaa is DavidCharboneau 16:32:38 +DavidCharboneau; got it 16:32:54 dcharbon2: we've been making use of sparql in jazz foundation 16:33:09 ... i've implemented a sparql parser on top of an in house triple store known as ??? 16:33:19 ... been working on our query service which is now built on top of Jena TDB 16:33:27 zakim, DavidCharboneau is dcharbon2 16:33:27 +dcharbon2; got it 16:33:49 The minutes aren't there yet? 16:34:04 AndyS, right - just the IRC logs for the moment 16:34:28 zakim, yolanda is Prateek 16:34:28 +Prateek; got it 16:34:53 topic: Update Issues 16:35:01 -> http://www.w3.org/2009/sparql/wiki/UpdateIssues collcetion of update issues 16:35:27 AxelPolleres: first issue is whether to include MODIFY 16:35:43 http://www.w3.org/2009/sparql/track/issues/47 16:36:22 zakim, unmute me 16:36:22 AndyS should no longer be muted 16:36:44 LukeWM: the issue is around the MODIFY keyword is that it's just syntactic sugar 16:36:55 ... it's like putting 2 GRAPH keywords - one for DELETE and one for INSERT 16:37:01 q+ 16:37:06 ... not sure there's any strong feelings either way 16:37:25 ... Kjetil and Paul had a debate on what MODIFY actually means - about whether it implies that you're actually changing a triple instead od deleting and inserting 16:37:46 kjetil_ has joined #sparql 16:37:56 AxelPolleres: is this about having a single atomic operation ? 16:38:08 Request is suggested to be atomic 16:38:09 SteveH: I thought the request was atomic 16:38:21 Zakim, what is the code? 16:38:21 the conference code is 77277 (tel:+1.617.761.6200 tel:+33.4.89.06.34.99 tel:+44.117.370.6152), kjetil_ 16:38:26 that was my understanding too 16:38:28 LeeF: ...and the whole HTTP request can have multiple operations 16:38:32 q? 16:38:49 ack AndyS 16:39:08 AndyS: it is syntactic sugar, but you want to be able to describe triples to remove and inesrt based on the same pattern 16:39:22 ... doing it in 2 steps isn't good because you want to execute the pattern and then do the deletes & inserts 16:39:29 ... that doesn't work with 2 operations 16:39:32 ... also bnodes 16:39:43 q+ 16:39:47 Zakim, unmute me 16:39:47 bglimm should no longer be muted 16:39:48 +??P8 16:39:59 Zakim, ??P8 is me 16:39:59 +kjetil_; got it 16:40:06 s/it is syntactic sugar/it is not syntactic sugar/ 16:40:07 ack bglimm 16:40:12 Zakim, mute me 16:40:12 kjetil_ should now be muted 16:40:50 bglimm: 16:41:04 ZAkim, mute me 16:41:04 bglimm should now be muted 16:41:05 q+ 16:41:11 q- 16:41:13 AxelPolleres: the understanding from discussions with pgearon is that one HTTP request can have multiple operations which are all atomic 16:41:40 Zakim, unmute me 16:41:40 kjetil_ should no longer be muted 16:41:56 zakim, mute me please 16:41:56 AndyS should now be muted 16:42:48 The whole blank node & update thing needs sorting out. 16:42:50 kjetil: my main concern has been that things shouldn't be too verbose to write 16:43:39 yesterday we punted some /Query bnode issues over to the editors (*cough*) so I'd be inclined to do the same (for now) for update 16:43:46 yes 16:43:47 +1 to kjetil's desire for useability 16:44:04 http://www.w3.org/2009/sparql/docs/update-1.1/gen.html 16:44:10 http://www.w3.org/TR/sparql11-update/ 16:44:51 q+ 16:44:54 ack LukeWM 16:45:01 LeeF: sounds like consensus for keeping MODIFY 16:45:13 LukeWM: think we should keep it 16:45:46 q+ 16:46:09 PROPOSED: To close ISSUE-47 by noting consensus on keeping MODIFY in the Update language 16:46:11 ack me 16:46:28 +1 16:46:30 +1 16:46:35 zakim, unmute me 16:46:35 AndyS should no longer be muted 16:46:38 +1 16:47:16 +1 16:48:30 AndyS: Hesitant to close issues without an editor present 16:48:48 PROPOSED: To close ISSUE-47 by noting consensus on keeping MODIFY in the Update language, modulo any concerns expressed by Update editors 16:49:08 +1 16:49:13 Good to record the consensus. 16:49:29 RESOLVED: To close ISSUE-47 by noting consensus on keeping MODIFY in the Update language, modulo any concerns expressed by Update editors, no objetions or abstentions 16:49:52 not sure what that was about 16:50:20 AxelPolleres: next thing is INSERT vs. INSERT DATA 16:50:29 Maybe INSERT DATA is a bad name - too close to INSERT. ADD ? 16:50:30 LeeF: i thought it was more of a misunderstanding then an issue 16:51:20 q+ 16:51:37 AxelPolleres: next are issues 18 and 19 16:51:45 ack me 16:52:11 LukeWM: i think the security issues relates to subselects and the way requests are defined 16:52:49 LukeWM: if you are able to do selects or subselects in an update query, is anyone can implement separate endpoints (one for select and one for update) ? 16:52:52 Zakim, mute me 16:52:52 kjetil_ should now be muted 16:52:55 SteveH: I don't think that's an issue 16:53:30 LukeWM: the idea of having a separate endpoint for select as for update for avoiding sql-injection style attacks 16:53:39 Woudl be issue for INSERT inside SELECT 9as query)? 16:53:41 ... if both can be in one endpoint, i think in the real world people will only implement the one 16:55:25 AndyS: document will have to have a security concerns section 16:55:50 ... it's easy to make mistakes in being setup to accept POSTed queries 16:56:16 zakim, Suite_A has sandro, kasei, AxelPolleres, LeeF, SteveH 16:56:17 kasei was already listed in Suite_a, LeeF 16:56:19 AxelPolleres was already listed in Suite_a, LeeF 16:56:21 +sandro, LeeF, SteveH; got it 16:56:45 q? 16:57:29 SteveH: what concerns me is LOAD, which requires an HTTP request 16:57:41 LeeF: Is that a DOS-type worry? 16:57:49 SteveH: not only that, but also a redirect type attack 16:57:53 AndyS: Might want to discuss/define the case of being able to add triples but not much else. 16:58:34 SteveH: my preferred solution would be some sort of profile which wouldn't implement these features 16:59:03 (in response to LeeF asking whether we're looking at giving advice or doing something more concrete) 16:59:07 "secure profile" 16:59:18 AndyS: it will need to go into the Security section 17:00:10 ... wouldn't have any constructs that need "dereferencing of URIs (LOAF, FROM ...) 17:00:33 ... affects: query, update, servicedescription? 17:00:44 403 17:02:02 LeeF: worth noting that FROM doesn't require an HTTP request 17:02:20 FROM can be ok, if we talk about a local copy in the store, you mean, yes? 17:02:36 yeah, I think it would be reasonable to use 403 when the server actively refuses a certain query based on the query 17:03:34 steve: protocol also affected: you can do dataset management 17:03:39 LeeF: sounds like the main thing we're talking about is having vocabulary/terminology ro refer to the "safe" parts of Query and Update 17:04:25 q+ 17:04:26 SteveH: yes, possibly flag the sections and give a URI in the service description that refers to the parts of the language not flagged 17:04:55 q+ 17:05:06 sandro: "offline operation" ? "two party operation" ? 17:05:06 ack andys 17:05:11 SteveH has joined #sparql 17:05:37 AndyS: finding words and terminology is a lighterweight approach then minting a URI and doing full conformance for profiles 17:05:57 ... good to pull these things out and identify them as things people need to think about 17:06:24 AxelPolleres: maybe we can ask the editors of Query and Update to start with such a security section summarizing the issues and see if it seems to lead to any sort of profile 17:06:29 ack kjetil 17:07:11 kjetil: perhaps instead of flagging, just summarize security issues and allow implementors to return 403 if security implications are too severe 17:07:52 Zakim, mute me 17:07:52 kjetil_ should now be muted 17:08:46 ACTION: Steve to summarize Query security issues in security section once document has been merged 17:08:46 Created ACTION-135 - Summarize Query security issues in security section once document has been merged [on Steve Harris - due 2009-11-10]. 17:09:30 ACTION: Axel to ask Paul to look at security section in Update document 17:09:30 Created ACTION-136 - Ask Paul to look at security section in Update document [on Axel Polleres - due 2009-11-10]. 17:09:53 ISSUE-19: see ACTION-135 and ACTION-136 17:09:53 ISSUE-19 Security issues on SPARQL/UPdate notes added 17:10:03 ACTION-135: this applies to ISSUE-19 17:10:03 ACTION-135 Summarize Query security issues in security section once document has been merged notes added 17:10:06 ACTION-136: this applies to ISSUE-19 17:10:06 ACTION-136 Ask Paul to look at security section in Update document notes added 17:10:24 AxelPolleres: what can and should we say about concurrency in the spec? 17:10:36 http://www.w3.org/2009/sparql/track/issues/18 17:10:40 q? 17:12:48 that realtes ISUE-26 17:12:51 ISSUE-18: see also ISSUE-26 17:12:51 ISSUE-18 Concurrency in SPARQL/update notes added 17:13:55 LeeF: steve's conversation with pgearon seemed to say that pgearon intended multiple operations within an update request to be atomic 17:14:07 SteveH: would like an opt out clause from this requirement 17:14:15 ... could always issue a "can't be bothered error" 17:14:47 AndyS: if the store has transactions then the whole request gets wrapped in a transaction 17:15:25 ... if the underlying store doesn't support transactions, then you can't do it 17:15:47 +1 to have a choice of supporting transactions or not 17:16:13 +1 for a service description about it 17:16:14 SteveH: have a small implementation of parts of update and it's not atomic 17:17:08 LeeF: sounds like requiring atomicity might be a big burden on implementors 17:17:19 Can't require it - no very web-like - even SD is rather detaisl - more an SLA thing. 17:17:26 ... and whether or not i can expect that changes a user/application writer's perspective dramatically 17:19:39 +1 to default that you don't have it, SD statement that you have it 17:20:31 kasei: this would be a partial answer to people looking at why there isn't full transaction support 17:20:40 SteveH: what about a protocol feature where you can request atomicity? 17:20:56 kasei: what if you're using a command line? 17:21:12 SteveH: other systems can implement it other way (like a command line argument) 17:21:16 Sandro: what about a keyword? 17:21:46 SteveH: Possible option, though some choices might raise expectations of transactions 17:21:56 AxelPolleres: what's the difference from full transactoinality? 17:22:20 SteveH: you don't get read barriers, you don't get rollback 17:22:39 zakim, Suite_a also has dajobe 17:22:39 +dajobe; got it 17:23:04 sandro: also support across multiple requests with read/write consistency 17:24:00 17:24:21 IMHO not worth defining a formal mechanism with all the details. Unbounded, relates to other work going on (why not distributed transactions? etc?) Not REST :-) 17:25:03 sandro: issue of whether a conformant Update impl can not do atomic requests is separate from whether there is a flag in the protocol 17:25:42 steveh: distinction between atomicity and durability 17:26:05 sandro: isolation is that no one else can see it while it's happening 17:26:41 http://en.wikipedia.org/wiki/ACID 17:27:06 dajobe has joined #sparql 17:27:10 AxelPolleres: one option is to make atomicity a requirement - seems to be an overkill 17:27:21 ... second option is that atomicity is an optional feature 17:27:28 ... then need to clarify if it's per implementation or per request 17:28:14 SteveH: I think we should require it and let systems that don't implement it raise an error 17:28:39 q+ 17:29:45 17:31:50 SteveH: simple implementations of atomicity are easy 17:32:13 q? 17:32:27 SteveH: "if atomic=1 is in the protocol, then you must guarnatee atomicity" 17:32:46 "protocol conformant" is to return an error when you're supposed to. 17:34:31 AxelPolleres: do people agree that a request for atomicity belongs in the protocol? 17:34:35 no 17:34:53 AndyS: i don't think it's that clear cut 17:35:04 AxelPolleres: what would be an alternative? 17:35:13 AndyS: Make sure we do the same style as other Web application frameworks 17:35:17 ... take the same approach as other people 17:35:25 ... the word atomic is confusing here 17:35:27 q+ 17:35:31 ack AndyS 17:35:49 AndyS: i'm not sure you can always tell what atomicity you're going to give when you get a request 17:36:38 AxelPolleres: I think we need to say something; people expect something 17:36:44 AndyS: not saying something does not mean banning it 17:36:50 ack sandro 17:37:14 sandro: this is no harder to implement -- put it in the language like in SQL -- "begin transaction" and "commit" 17:37:27 ... doesn't span HTTP requests so no harder then what we're talking about now 17:37:29 WebAPI has gone a different way to SQL. 17:37:52 SteveH: i think putting it in the request is a sensible approach 17:38:05 ... perhaps with other terms that don't imply ACID 17:38:47 AndyS: WebAPI only has "commit" and "abort" - no explicit "begin" 17:39:22 AxelPolleres: Agreed, there are several possibilities - shouldn't we give advice to the editors, put something in, and get feedback? 17:39:42 So everything is one transaction automatically that runs until I say commit or abort and at that point, I start a new transaction? 17:39:48 AndyS: I'd suggest not putting anything in the protocol or language and put a discussion point in saying services should consider and may offer atomicity 17:40:18 ...and state so in the SD? 17:40:33 q+ 17:40:48 ack kjetil 17:41:05 kjetil: if it is implemented, it should be stated in the service description? 17:41:40 AndyS: goes back to issue of having exact meaning in the service description 17:41:50 s/in the service description/tied to terms in the service description 17:42:00 AxelPolleres: two things - do we want to do something, if so, what do we want to do? 17:42:11 As an impl issue then we need to ask the impls :-) which is chicken and egg - so define in a later WG after experience 17:42:12 Zakim, mute me 17:42:12 kjetil_ should now be muted 17:42:25 AxelPolleres: Straw poll: who thinks either Protocol or Update should take a stand about atomicity - wherever it's located, that if you request it, it should be executed atomically 17:42:30 +1 17:42:32 0 17:42:35 +1 17:42:38 0 17:42:51 +1 17:43:03 LeeF: By "take a stand" I mean define an actual mechanism 17:43:18 -1 (too complicated to get right in a web setting I think) 17:44:22 (Hey, bglimm .... I'm curious how the web setting makes it harder.) 17:44:45 well, you have less control 17:44:46 -1 (too complicated to get right this time round : also need query+update to do some changes) 17:44:57 LeeF: 0 17:45:02 0 (it can be still a part of the sd: extnsibility, if we don't support it) 17:45:17 the web is like a distributed database in a sense 17:45:58 LeeF: no consensus - safer route seems to be not to put an explicit mechanism in, but we should probably continue discussion when editor ispresent 17:46:10 AxelPolleres, I understood it so that it wouldn't be a part of the SD, that's why I voted +1 17:46:16 I think such a spec is non-trivial, there is nothing really worked out on the table and not much of agreement, which makes me think better not 17:46:18 SteveH: there is a risk of certain people being very upset if we don't address this 17:46:21 If the editors (or other WG) can propose something in the timescale then great but not critical path. 17:46:29 kasei: more than a risk 17:46:52 +1 to Andy 17:47:00 but sparql update operates against some conceptually unified triplestore, not the web.... it seems to me. 17:47:36 http codes 202 and 409 interesting at protocol level for this stuff 17:47:51 sandro: if SPARQL doesn't say anything about transactions, it will be derided by at least the database commuity. 17:48:05 well, but w 17:48:14 http://www.w3.org/2009/sparql/track/issues/20 17:48:15 ups, didn't mean to send that 17:49:14 SteveH: my experience of implementing this and using it in anger is that it's very annoying to have to explicitly create graphs before writing to them 17:49:58 ... currently in the update spec graphs must be explicitly created before they are used 17:50:33 SELECT ?G { GRAPH ?G {}} 17:51:03 +1 to SteveH - may not have been a good design choice in hindsight. 17:52:01 q+ 17:52:03 LeeF: is it important to be able to create an empty graph? 17:52:05 ack LukeWM 17:52:07 Flip to "test if exists else error" 17:52:29 LukeWM: someone might want to check for existence of graph, which might mean something even if it's empty 17:52:38 DROP ; INSERT DATA {...} 17:52:52 good test, Andy 17:53:04 +1 to that 17:53:08 CLEAR ; INSERT DATA {...} -- so empty graphs exist albeit temporarily 17:54:07 SteveH: 4store supports empty graphs, our internal store doesn't support it 17:54:51 dajobe: empty graphs need to be supported 17:54:56 LeeF: empty graphs need to be supported 17:55:43 How are you going to do locking across operations? :-) 17:56:13 Consensus at F2F2 is that the Update langauge & semantics should support the notion of a graph that exists but is empty 17:56:29 ISSUE-20: Consensus at F2F2 is that the Update langauge & semantics should support the notion of a graph that exists but is empty 17:56:29 ISSUE-20 Graphs aware stores vs. quad stores for SPARQL/update (empty graphs) notes added 17:56:35 q+ 17:56:44 ack AndyS 17:57:08 AndyS: Consequence of this is can you test whether a graph exists and then use that to decide whether to perform further operations 17:57:35 ... such as loading data into a graph only if it exists and is empty 17:57:45 I asked how do you test if a graph does not exist? 17:57:49 or whether it is empty? 17:58:14 AndyS: currently, issuing CREATE is an unintended way of asking if a graph exists 17:58:44 SteveH: can keep CREATE if it's helpful, just not if it's required to insert data 17:59:33 q+ to note it conflicts with INSERT { GRAPH ?g { ... } } 17:59:58 where is CREATE from? I don't see it in sparql 1.1 update. 18:00:06 oh never mind 18:00:15 dajobe: http://www.w3.org/TR/sparql11-update/#t521 18:00:20 s/dajobe:/dajobe, 18:00:27 ack AndyS 18:00:29 AndyS, you wanted to note it conflicts with INSERT { GRAPH ?g { ... } } 18:01:24 Maybe needs a systematic use case analysis 18:01:33 +1 to AndyS 18:01:55 ISSUE-21 - http://www.w3.org/2009/sparql/track/issues/21 18:02:16 I don't know where that issue came from 18:02:19 http://www.w3.org/2009/sparql/meeting/2009-05-07 is the source of many of these issues (F2F1) 18:02:30 -Prateek 18:05:48 PRPOSED: Close ISSUE-21 noting that there are no proposals for additional operations at this time 18:06:14 RESOLVED: Close ISSUE-21 noting that there are no proposals for additional operations at this time 18:06:15 +1 18:06:48 ISSUE-21: day 2 of F2F2 had RESOLVED: Close ISSUE-21 noting that there are no proposals for additional operations at this time 18:06:48 ISSUE-21 More complex update operations, e.g. CHANGE objects notes added 18:06:52 trackbot, close ISSUE-21 18:06:52 ISSUE-21 More complex update operations, e.g. CHANGE objects closed 18:08:20 MODIFY is just for 1 graph as far as I knew 18:08:48 +1 to Leef: Can't do it with MODIFY - INSERT and DELETE are on the same graph 18:09:03 ... only WHERE can do it. 18:09:16 We could use that: http://www.w3.org/2009/sparql/wiki/ResourceTopicPortals#Move_data_between_graphs 18:09:44 q+ 18:09:46 currently, we insert into a temp graph and rename or something, IIRC... 18:10:25 Copy graph? Rename graph? 18:10:29 ack me 18:11:55 GRAPH vs. INSERT INTO 18:14:32 What is the dataset of UPDATE queries, i.e. do we need clauses for specifying the graphstore... is that an issue which is missing? Or, resp. further clarification of what is a graphstore ,as opposed to the dataset. 18:16:03 LeeF: My question is how does / can someone define the RDF Dataset that the pattern matching in a MODIFY proceeds against, a la FROM/FROM NAMED in SPARQL Query 18:17:08 AndyS: different service endpoints can do this (but clunky?) 18:18:27 Issue seems to be whether or not ther graphstore and the dataset for the WHERE part should be decoupled or not? 18:18:48 q? 18:19:02 sandro: there are obviously multiple graph stores in the universe, so the question is whether you can have multiple graph stores behind one endpoint? [ Lee: Yes. ] 18:19:43 INSERT INTO { template } FROM g2 FROM g3 FROM NAMED g4 FROM NAMED g5 WHERE { pattern } 18:22:58 lee: we've never had something like "FROM *" and that's been a source of consternation. I'm concerned that UPDATE seems to be doing it the other way. 18:23:28 q+ 18:23:31 INSERT INTO { template } FROM g2 FROM g3 FROM NAMED g4 FROM NAMED g5 WHERE { GRAPH ?g { ?s ?p ?o } } 18:25:53 I suggest to raise and issue... ISSUE: shall dataset clauses be allowed in SPARQL/update? 18:26:09 q? 18:27:03 ack me 18:27:19 ISSUE: shall dataset clauses be allowed in SPARQL/update? 18:27:20 Created ISSUE-51 - Shall dataset clauses be allowed in SPARQL/update? ; please complete additional details at http://www.w3.org/2009/sparql/track/issues/51/edit . 18:27:48 bigger issue is the overall abstraction. 18:28:12 +1 to dajobe 18:29:04 q? 18:29:22 overall abstraction is definitely the problem 18:29:27 be brave: change the graph management model to be clear, if necessary do not use FROM 18:29:58 Zakim, unmute me 18:29:58 bglimm should no longer be muted 18:30:01 LeeF: I'd find it very hard to teach & think about the situation if they have different graph management models - also, we find the current graph model _useful_, though I realize that's contrary to others' expectations 18:31:14 What is now after the break? 18:31:53 I'll now disappear for a while and check in late tonight UK time to see what is still going on. 18:32:20 thanks, bglimm 18:35:10 what time are you back from the break? 18:35:21 because I should be available to dial in then 18:35:58 ok, see you later 18:36:05 -bglimm 18:37:00 -LukeWM 18:52:50 -kjetil_ 18:56:36 So if it were BIND(?x := lang(?y) ) is that OK? 18:57:22 I don't care about the syntax word. 18:59:35 DECLARE(?x := ?y+3) :-) 19:07:34 Zakim, who is on the phone? 19:07:34 On the phone I see Suite_a, AndyS, dcharbon2 19:07:35 Suite_a has sandro, LeeF, SteveH, dajobe 19:07:54 Zakim, suite_a has kasei 19:07:54 +kasei; got it 19:08:24 Zakim, suite_a has axelpolleres 19:08:24 +axelpolleres; got it 19:08:36 zakim, sho is on the phone? 19:08:36 I don't understand your question, AxelPolleres. 19:09:37 zakim, who is on the phone? 19:09:37 On the phone I see Suite_a, AndyS, dcharbon2 19:09:38 Suite_a has axelpolleres 19:09:58 zakim, you don't get it, doya? 19:09:58 I don't understand your question, AxelPolleres. 19:10:31 zakim, suite_a has leef, axelpolleres, steveh, sandro, dajobe, kasei 19:10:31 axelpolleres was already listed in Suite_a, AxelPolleres 19:10:32 +leef, steveh, sandro, dajobe, kasei; got it 19:10:54 +??P4 19:11:08 zakim, ??P4 is me 19:11:08 +LukeWM; got it 19:11:26 scribe: sandro 19:11:31 scribenick: sandro 19:11:40 pgearon, we are restarting now 19:11:58 axel: issue-24 do we need a move operation? 19:12:01 issue-24? 19:12:01 ISSUE-24 -- Move data between graphs (select on one graph and insert into another... copy from/to) -- OPEN 19:12:01 http://www.w3.org/2009/sparql/track/issues/24 19:12:04 OK, still on DuraSpace call. I'll dial in the moment I'm off 19:12:36 axel: current example in updates document, with move as delete-from plus insert-into. The question is whether we want a more convenient syntax. 19:12:46 q? 19:13:01 guest: Dave Beckett 19:13:39 axel: modify only affects a single graph, but maybe it could be stretched.... 19:14:06 strawpoll: do we need a nice syntax for moving data between graphs? 19:14:10 q+ 19:14:13 -0.5 19:14:38 q- 19:14:39 q+ 19:15:08 Lee: you can do it with modify 19:16:03 lee: since the WHERE is always against your entire your graph store, and the URI only applies to insert/delete, UPDATE can be used for Move. 19:16:22 LukeWM: (unintelligible). 19:16:23 kjetil_ has joined #sparql 19:16:33 axel: I can't delete from one graph and insert into another, in one statement. 19:16:59 axel: is example 3e good enough? 19:17:30 a combiination LukeWM -- loud fan, bad phone, and I didn't understand the subject. :-) 19:17:44 ok 19:18:07 lee: Let's not run around and add too many premature simplifications. 19:18:14 lee: Syntactic sugar can come later 19:18:16 +1 Lee 19:19:03 PROPOSED: Close issue-24, saying example 3e in the current draft is sufficient 19:20:07 PROPOSED: Close issue-24, saying example 3e in the current draft is sufficient (subject to approval from editors absent from this meeting) 19:20:29 PROPOSED: Close issue-24, saying example 3e in the current draft is sufficient (subject to approval from update editor, who are absent from this meeting) 19:20:35 PROPOSED: Close issue-24, saying example 3e in the current draft is sufficient (subject to approval from update editors, who are absent from this meeting) 19:20:40 +1 19:20:42 +! 19:20:46 +1 19:20:48 RESOLVED: Close issue-24, saying example 3e in the current draft is sufficient (subject to approval from update editors, who are absent from this meeting) 19:21:03 issue-25? 19:21:03 ISSUE-25 -- Dynamic graph (variable) for INTO graph to update/modify -- OPEN 19:21:03 http://www.w3.org/2009/sparql/track/issues/25 19:21:11 topic: issue-25 19:21:31 steve: into vs graph 19:22:05 steve: I think it's important. there are lots of big graphs you want to card up into little graphs by, eg, subject URI. 19:22:09 +1 to steve, this is the most intriguing part of update to me 19:22:32 gregory: The note from Paul describes this issue as "fraught" :-) 19:22:45 axel: insert and modify 19:22:51 axel: and probably delete from 19:22:53 This (INSERT { GRAPH ...}) is a good change. 19:23:23 steve: There are times where you want to delete certain triples from all named graphs. If you can't use a variable, theres no way to write that down. 19:23:40 steve: More than one graph per query. 19:24:01 steve: There was also a clarify issue, someone posted about. 19:24:39 sub-issue 1: insert/modify/delete from variable graph yes/no? sub-issue2: concrete syntax (GRAPH vs. INTO/FROM) 19:25:20 lee: It sounds good, but I'd like to understand what it's fraught with. 19:25:28 steve: some complexity. 19:25:52 steve: we'd be re-using some semantics from the WHERE part, so a little simplifying 19:26:16 steve: We'd have to talk about some error cases. eg G binds to a literal. 19:26:42 steve: There are probably some nasty corner cases; I haven't implemented it. 19:27:07 dave: How far has this gone to an arbitrary graph manilpulation language? 19:27:22 steve: I think it's clearer if we use graph in both parts. 19:27:38 steve: RELATED do we allow things other than graphs to appear? 19:28:10 axel: If we used the GRAPH keyword, then it would be weird to disallow variables. 19:28:51 steve: the INTO thing poses a number of problems. 19:29:10 axel: Should we throw these together? 19:29:18 steve: Hard to talk about them separately. 19:29:37 axel: i don't think we can but they affect each other 19:29:43 steve: If there no enthusiasm for using GRAPH in INSERT, then we probably shouldn't go with variables. 19:30:26 axel: Does anyone see a problem with allowing variables in identifying graphs in INSERT and DELETE? 19:30:36 lee: I think we should totally do this. 19:30:51 lee: I would use it all the time, to break a giant triples file into quads. 19:30:59 lee: I do this all the time. 19:31:04 steve: Me too! 19:32:00 dave: This reminds me of a Map-Reduce. A new, complex, thing 19:32:14 steve: the Graph keyword seems more important to me. 19:32:16 q? 19:32:34 dave: I'm worried about complexity from many angles. 19:32:47 Luke... is your staring on the q still current? 19:32:57 Lee: The points that stop short are MORE complicated, because they are arbitrary. 19:33:18 Dave: SPARQL UPDATE == RDF Graph Manipulation Language. 19:33:24 ack me 19:33:44 lee: My own angle is that this is the thing I'd want from update. 19:34:10 dave: My only advice is to make clear that you're taking on this big peice. 19:34:33 lee: As Andy said, we keep adding things to update.... 19:34:40 dave: What would be a step too far? 19:34:48 Lee: personally or as chair? 19:35:11 Lee: WHERE part when inserting data? we talked about this, and decided it was important. That we want a "full featured update language" 19:35:30 dave: So you're positioning SPARQL updates as diferent from SPARQL Query? 19:35:52 dave: It looks like SPARQL UPdate is a superset of SPARQL Query. Or nearly superset. 19:36:30 steve: We still want a way to provide a simple flag about whether updates are allowed 19:36:39 sandro: a read-only flag isn't that complicated 19:36:54 Axel: I'm not sure whether this bit adds problems. 19:37:00 not a flag really, different endpoints 19:37:16 zakim, who's here? 19:37:16 On the phone I see Suite_a, AndyS, dcharbon2, LukeWM 19:37:17 Suite_a has leef, steveh, sandro, dajobe, kasei 19:37:19 On IRC I see kjetil_, dajobe, SteveH, LeeF, Zakim, RRSAgent, AxelPolleres, dcharbon2, Prateek, LukeWM, AndyS, pgearon, karl, KjetilK, kasei, iv_an_ru, sandro, kjetil, ericP, 19:37:21 ... trackbot 19:38:00 PROPOSED: SPARQL Update will allow insert/modify/delete on graphs identified by variables (subject to review by Update editors) 19:38:26 (who is talking?) 19:39:14 dcharbon2: (scribe didn't quite follow) 19:39:30 AndyS: I'm worried that this is a peice of a bigger thing. 19:39:59 AndyS: View of graph store as a large collection is quad is kind of natural. Thus variables as quads. 19:40:03 Consequence is GRAPH ?g in templates 19:40:35 q+ 19:40:38 steve: I'm only in favor of this if it's in the form with GRAPH ?g in templates. 19:40:54 ack AndyS 19:41:10 q- 19:41:29 andy: what if you insert/delete into multiple graphs, putting graph in a template. 19:41:40 steve: Right -- I want to delete some triple from all named graphs. 19:42:12 Example: INSERT { GRAPH ?g1 {} GRAPH ?g2 {} } WHERE { ... ?g1 ... ?g2 ... } 19:42:13 sandro: where the graphs deleted-from could be determined by a whole spaql query? 19:42:15 steve: yes 19:43:05 PROPOSED: use GRAPH inside insert/delete templates instead of FROM/INTO (subject to approval from Update Editors.) 19:43:30 -AndyS 19:43:31 bye 19:43:34 lee: thanks andy... 19:43:45 q+ to ask about how this affects modify 19:44:22 +pgearon 19:44:36 sandro: insert into is soooo nice and simple, and this feels a little down-the-rabit-hole. 19:45:49 steve: insert into { ?x ?y ?z } WHERE { ?x ?y ?z } 19:46:07 dave: copy from default graph into ? 19:46:28 steve: seems like it might match in , instead of in default graph 19:46:48 steve: DELETE FROM { ?x ?y ?z } WHERE { ?x ?y ?z } 19:47:06 steve: actually, confusingly, subtracts default from from 19:48:00 ack LukeWM 19:48:00 LukeWM, you wanted to ask about how this affects modify 19:48:25 steve: DELETE { GRAPH { ?x ?y ?z } } WHERE { ?x ?y ?z } # subtract default graph from A 19:48:41 steve: DELETE { GRAPH { ?x ?y ?z } } WHERE { GRAPH {?x ?y ?z }} # clear A 19:49:24 axel: Is a separate syntax for MODIFY necessary, or do INSERT ... DELETE ... WHERE ... as one statement. 19:50:06 ack me 19:50:39 axel: If we're making things more uniform this way, then modify not longer makes sense, being on one graph. 19:52:51 sandro: maybe I want ON GRAPH INSERT ... DELETE ... WHERE ... 19:53:11 dave: Yeah, this feels like you're grabbing bits; it's not clear how you they compose. 19:53:17 (who?) 19:54:18 how about DELETE ... THEN INSERT ... WHERE 19:54:23 q+ 19:54:44 axel: it seems simpler to have one statement 19:55:00 pgearon: I like WITH or USING, as a way to override the default graph 19:55:14 GRAPGH g { INSERT ... DELETE ... } WHERE ... 19:55:25 pgearon: most of the time you're probably operating on a single graph, so putting it in one place. 19:55:26 if WITH omitted, defaults to default graph? 19:55:31 (who?) 19:55:42 ?: can we just use MODIFY? 19:55:42 INSERT ... GRAPGH g {DELETE ... WHERE ... } 19:56:04 yes 19:56:04 (axel, DELETEs happen before INSERTs, which is why I want it first.) 19:57:05 someone: insert into one named graph, delete from another, query on a 'general' one, .... MODIFY X doesnt make much sense. 19:57:14 someone-else: good point. 19:57:19 sandro, that's me 19:57:20 sandro, LukeWM 19:57:28 DELETEpart|INSERTpart|(DELETEpart INSERTpart) DATASETclause? WHEREpart? 19:57:28 (the good point bit) 19:58:45 axel: if we allow GRAPH in templates everywhere, then the uniform statement probably makes sense, but it might be nice to have syntax sugar like USING. 19:59:40 steve: it's not syntactic sugar, because you might nest graph stmts 19:59:59 can someone please type a counter example showing nested graph statements? 20:01:38 sandro: my sense is USING or ON would set a lexical-scope temporary default graph. 20:01:43 steve: that might work 20:02:25 axel: GRAPH g { INSERT .... { } } 20:02:33 steve: a bit weird. 20:02:57 paul: nested graphs? 20:03:20 axel: INSERT { GRAPH g { a b c } } 20:03:32 axel: instead of INSERT INTO G { a b c } 20:03:41 axel: people here seemed to like this. 20:04:02 paul: I want to insert and delete with multiple graphs at once. 20:04:41 INSERT { GRAPH g { a b c GRAPH g2 { d e f} } } 20:05:02 INSERT { GRAPH g { a b c } GRAPH g2 { d e f} } 20:05:05 INSERT { GRAPH g { a b c } GRAPH g2 { d e f } } 20:05:42 paul: There's no context to bring in, with the nesting. 20:05:55 lee: it's the same in QUERY, and it also has no effect. 20:06:14 gregpory: it's NEVER made sense to me. it's just to make it easier on parser. 20:06:33 lee: there's a notion of active graph or something 20:06:46 axel: so it's equally redundant in query 20:06:53 paul: Are filters kept inside scope? 20:07:01 lee: I don't think it has any effect 20:07:23 lee: in GRAPH X, there's never a semantic difference from being ... unless it's GRAPH ?g 20:07:58 paul: I just don't like nesting, because it adds complexity for no gain 20:08:07 paul: if someone else writes the JavaCC 20:08:36 axel: leaving out grammar issues, are we okay with this... 20:08:49 DELETEpart|INSERTpart|(DELETEpart INSERTpart) DATASETclause? WHEREpart? 20:10:57 sandro: what about a THEN connective between DELETE and INSERT 20:11:13 AxelPolleres, there could be two WHERE clauses above. 20:11:53 LukeWM: there could be different WHERE clauses for the DELETE and the INSERT 20:11:56 axel: I don't get that. 20:12:14 axel: Just do two separate queries. 20:12:47 Paul: It's an atomic operation. 20:13:35 axel: one approach was several statements in one HTTP request, and treat those atomically. 20:14:02 paul: as ISWC we were being grilled on this lack of transactions. 20:14:33 paul: So a seperate where clause of insert and delete might help with that. 20:14:34 (DELETEpart|INSERTpart|(DELETEpart INSERTpart) DATASETclause? WHEREpart?)+ 20:15:40 probably needs separator ';'? 20:15:51 steve: grammar allows multiple statements in one blob? no... 20:16:50 Paul: roughly: [DELETE ... [WHERE ...]] [INSERT ... [ WHERE ... ]] 20:17:12 paul: where if theres no WHERE on DELETE, it uses the INSERT's 20:17:20 (DELETE...[WHERE...])* (INSERT...[WHERE...])* WHERE... 20:17:39 axel: I don't see the difference. 20:18:47 paul: you can do your delete and your insert each with their WHERE, and then a default WHERE at the end. 20:19:22 axel: If you can put multiple operations in one request, then this isn't necessary. 20:19:28 paul: how do we package them up>? 20:19:41 steve: all in one string with a seperator character. 20:19:46 Paul: works for me. 20:19:51 steve: semi-colon 20:19:57 steve: separator charcter ';' 20:20:15 paul: hard to pre-parse, since semi-colon is used inside braces 20:20:47 steve: it's always going to need a real parser anyone because of escaping. 20:24:04 PROPOSED: we'll have one update statement, DELETE ... INSERT ... WHERE ..., where one of DELETE or INSERT may be ommitted, and WHERE is optional, and multiple of these may be combined in a string using ";" as the separator. 20:24:32 (and we'll talk about having ON or USING separately.) 20:24:47 q+ to mention multiple wheres 20:25:03 -dcharbon2 20:25:04 ack me 20:25:05 LukeWM, you wanted to mention multiple wheres 20:25:26 +1 20:25:28 +1 20:25:35 +1 20:25:55 RESOLVED: we'll have one update statement, DELETE ... INSERT ... WHERE ..., where one of DELETE or INSERT may be ommitted, and WHERE is optional, and multiple of these may be combined in a string using ";" as the separator. 20:25:58 q+ 20:27:04 luke; there might be some issue with the WHERE applying *after* the delete has happened? 20:28:29 doesn't the WHERE clause have to be done first? 20:29:44 sandro... simple testcase DELETE {?s ?p ?o } INSERT {?s ?p ?o } WHERE {?s ?p ?o } should have no effect 20:30:18 sandro: so you do the WHERE, then the DELETE, then the INSERT, (both using the results of the WHERE) 20:30:22 steve: Yes. 20:30:44 +1 to USING 20:31:09 +1 to WITH or USING. Happy to discuss which 20:31:11 +0 20:32:02 steve: Paul, as editor, feel free to go ahead and put it in the document for now. 20:32:06 :-D 20:32:11 Lee: Yeah, that's the best way to make progress. 20:32:28 I wonder about calling it DEFAULT 20:33:03 not DEFAULT :) 20:33:19 okay :-) I forgot. 20:33:48 steve: Paul, about atomicity -- did you want one HTTP request to be dispatched atomically? 20:34:00 Paul: yes. 20:35:06 issue-26? 20:35:06 ISSUE-26 -- Conjunction of operation vs atomocity, transactions -- OPEN 20:35:06 http://www.w3.org/2009/sparql/track/issues/26 20:35:20 topic: issue-26 20:35:34 axel: we've broadly discussed a lot of these. 20:35:47 axel: do we have another issue about atomicity? are they linked? 20:36:03 topic: issue-27 20:36:05 issue-27? 20:36:05 ISSUE-27 -- Subqueries in Update operations, full expressivity -- OPEN 20:36:05 http://www.w3.org/2009/sparql/track/issues/27 20:37:03 axel: in Update document? 20:37:48 axel: We dropped subqueries yesterday, we only have subselects. 20:38:00 axel: allow full query syntax in WHERE part? 20:38:05 paul: I think so 20:38:33 Steve: yeah, there's a risk that someone does UPDATE only, eg to add to SPARQL server. 20:38:38 issue-27 boils down to... do we allow full SPARQL1.1/query WHERE parts? 20:38:43 paul: So they'll have crippled where clauses. 20:39:19 what if someone wants to add UPDATE on top of SPARQL/Query 1.0? 20:39:20 steve: They might implement UPDATE only, not QUERY. 20:39:34 steve: it's a corner case that doesn't bother me. 20:40:25 paul: in Service Description, you can say you can only do trivial updates. 20:40:54 Gregory: I've been very hesistant to include way of describing that you fall short of conformance. 20:40:58 q+ to ask about SELECTS in update queries. 20:41:22 Gregory: Should we have a way to say: I do 1.1 update but only 1.0 query? 20:41:29 steve: No, let's avoid profiles. 20:42:21 gregory: Are we telling them they can never be a conformant sparql imnplementation? 20:42:42 paul: If your where clause is not complete, ... that's fine. 20:43:00 Gregory: Someone else can define that language. 20:45:13 sandro: some sort of AT RISK bit with profiles, to give ourselves flexibility as the market develops. 20:45:51 steve: fallback is SPARQL UPDATE with the WHERE clause being beyond 1.1 being AT RISK. 20:46:00 q? 20:46:39 luke: I thought we had consensus that we'd have multiple selects inside updates 20:47:42 steve: I don't think we can handle a single request which does both an update and a query, BUT we will allow one endpoint to handle both. 20:48:02 steve: the format can't allow it 20:48:07 luke: no problem. 20:49:32 PROPOSED: SPARQL Update WHERE clauses will be at least SPARQL 1.0 QUERY, with SPARQL 1.1 Query being AT RISK for this. This closes ISSUE-27. 20:53:14 sandro: related is the idea of profiles. 20:53:55 PROPOSED: SPARQL Update WHERE clauses will be at least SPARQL 1.0 QUERY, with each feature 1.1 adds to SPARQL Query being AT RISK for this. This closes ISSUE-27. 20:54:02 this doesn't rule out profiles, just doesn't mention them explictly 20:54:48 gregory: this rules out the case of update endpoints that doesn't even do 1.0 20:55:02 seconded 20:55:04 +1 20:55:08 +1 20:55:30 RESOLVED: SPARQL Update WHERE clauses will be at least SPARQL 1.0 QUERY, with each feature 1.1 adds to SPARQL Query being AT RISK for this. This closes ISSUE-27. 20:55:57 steve: this may be overly paranoid 20:56:00 (yeah) 20:56:30 topic: issue-46 20:56:33 issue-46? 20:56:33 ISSUE-46 -- Can INSERTS, DELETES, and other 'subupdates' be nested inside update language queries? -- OPEN 20:56:33 http://www.w3.org/2009/sparql/track/issues/46 20:57:19 axel: where updates can somehow be nested? Ummmm NO. 20:57:33 PROPOSED: Close issue-46, no action required. 20:57:37 +1 20:57:43 +1 20:57:46 RESOLVED: Close issue-46, no action required. 20:57:46 +1 20:58:05 Right, I'm off home, bye 20:58:10 Lunch break! thanks all the brave phone participants 20:58:20 RRSAgent, make log public 20:58:21 -pgearon 20:59:07 -LukeWM 21:25:57 AxelPolleres has joined #sparql 21:48:21 SteveH has joined #sparql 21:49:08 kjetil_ has joined #sparql 21:53:04 LukeWM has joined #sparql 21:57:11 LeeF has joined #sparql 21:59:21 AxelPolleres has joined #sparql 21:59:51 Zakim, who is on the phone? 21:59:51 On the phone I see Suite_a 21:59:52 Suite_a has leef, steveh, sandro, dajobe, kasei 22:00:10 Zakim, Suite_a also has axelpolleres 22:00:10 +axelpolleres; got it 22:00:20 member:Zakim, who is on the phone? 22:00:31 dajobe has joined #sparql 22:00:32 Zakim, who is on the phone? 22:00:32 On the phone I see Suite_a 22:00:33 Suite_a has leef, steveh, sandro, dajobe, kasei, axelpolleres 22:01:06 LukeWM has joined #sparql 22:06:31 pgearon, you calling in? 22:06:49 AxelPolleres: "is delete too verbose?" 22:07:19 AxelPolleres: put it in telecon to see if it's still an issue 22:07:39 ACTION: Axel to put ISSUE-48 on the table in one of the next TCs and ask whether it is still an issue 22:07:39 Created ACTION-137 - Put ISSUE-48 on the table in one of the next TCs and ask whether it is still an issue [on Axel Polleres - due 2009-11-10]. 22:08:05 kasei: 3 things... (service desc) 22:08:21 ... punting on dataset hoping void or similar will cover it 22:08:46 ... void won't cover the default graph, would like property to link named graph to default graph 22:09:09 ... we have a single property that points to something that describes the dataset 22:10:14 sd:dataset --> sd:hasDefaultGraph --> void ; 22:10:31 sd:dataset --> sd:hasNamedGraph --> void ; 22:10:49 sd:dataset rdfs:range sd:Dataset ? 22:11:19 kasei: we were going to have a note saying how to use it, but it seems core to SPARQL 22:12:06 AxelPolleres: datasets in void are more than one graph, collections of graphs at the same domain 22:12:35 kasei: they're clarifying for the next iteration, [something about requirements] 22:13:07 ... e.g. dppedia is a graph. 22:13:14 s/graph/dataset/ 22:14:32 kasei: default graph is fundamental to SPARQL but not in other things 22:15:26 ... we have a predicate that says "this is the description" 22:15:47 AxelPolleres: I would assume you want to give some description, stats etc 22:17:00 AxelPolleres: do we want to have a different predicate 22:17:12 kasei: that's what we'd looked at punting 22:17:30 so the defaultGraph of an endpoint ... maybe be bnode. 22:17:51 endpoint hasDefaultGraph ... 22:17:52 AxelPolleres: might need two seperate descriptions 22:19:18 sandro: you could also have the inverse relation, graph-has-proxy or so 22:19:32 sandro: you could do it either way 22:20:40 endpoint has dataset, dataset has namedGraph 22:21:52 AxelPolleres: two descriptive properties which describe the dataset in terms that SPARQL cares about 22:23:20 dajobe: if you've got 10M graphs could you not put up SPARQL endpoint to describe them 22:23:37 AxelPolleres: we don't make this obligator 22:23:39 y 22:23:52 ... you could do it by asking a query about the graph names 22:24:05 kasei: I don't think you can always do that 22:24:14 So sparql:Dataset is a subset of Dataset, where one of the graph is the default graph, and any others have names. 22:24:33 kasei: some impls. require you to enumerate graphs with FROM NAMED 22:25:10 kasei: what if the store doesn't provide a default dataset, but it describes the URIs it could use 22:27:21 LeeF: describing the dataset that's used if nothing else is defined - I think that's very usefulk 22:27:39 AxelPolleres: we have sd:dataset already 22:27:55 AxelPolleres: lets add two more properties 22:28:42 kasei: we don't want to nail it down too much 22:29:47 kasei: we only need the default graph on because that's unique to SPARQL, void does named graphs 22:33:28 [ LeeF drawing on flipchart ] 22:53:29 [ LeeF drawing beautiful pictures of turtles ] 22:55:30 discussion about sparql:feature v's rdf:type 22:57:56 "from-able universe" instead of "available universe" ? 23:08:23 descriptions like: 23:09:22 :defaultDataset _;ds . _:ds defaultGraph . :availableUniverse _:u . 23:09:34 [ see photos ] 23:11:51 discussion of :feature predicate 23:12:08 kasei: OWL people will like it to be subclasses 23:12:19 kasei: subclass of service for each feature 23:14:45 kasei: for now I will create a class for range, and delay deciding if it should be modelled in some other way 23:15:20 ... property functions - a lot of impl. use them, want some say to describe it 23:15:32 ... here are the functions it supports 23:17:05 SteveH: they're not part of the language, and have issues, so we can't really describe them 23:18:56 dajobe: leave property functions off the agenda unless you've got a lot of time 23:19:49 LeeF: testcases 23:22:09 LeeF: the impl. report generator was a bit slow 23:23:24 sandro: OWL2 had two people overseeing testcases 23:24:09 http://owl.semanticweb.org/page/OWL_2_Test_Cases 23:28:02 [ discussion of how testcases should be maintained ] 23:28:44 bglimm has joined #sparql 23:30:15 + +0186598aabb 23:30:21 LeeF: lets try maintaining collaborativly, responsibility of chairs to assign actions when things are contentious 23:30:54 Zakim, +0186598aabb is bglimm 23:30:54 +bglimm; got it 23:31:42 ...coffee time... 23:32:46 -bglimm 23:38:21 see http://thefigtrees.net/lee/dl/sparql-IMG00009-20091103-1508.jpg for picture 23:50:53 the unlabeled blue arc should be "default graph" 23:54:52 RRSAgent, pointer? 23:54:52 See http://www.w3.org/2009/11/03-sparql-irc#T23-54-52 23:58:45 SteveH has joined #sparql 23:59:27 AxelPolleres has joined #sparql