- From: Alexandre Passant <Alexandre.Passant@deri.org>
- Date: Mon, 2 May 2011 23:46:54 +0100
- To: Axel Polleres <axel.polleres@deri.org>
- Cc: "Andy Seaborne" <andy.seaborne@epimorphics.com>, "SPARQL Working Group" <public-rdf-dawg@w3.org>
On 29 Apr 2011, at 23:54, Axel Polleres wrote: > Hi Alex, > > short sync-request ... > > On 29 Apr 2011, at 22:34, Passant, Alexandre wrote: > >> >> On 28 Mar 2011, at 22:19, Axel Polleres wrote: >> >> [...] >> >>> >>> >>>> >>>> [**] >>>> Need an account of how the syntax maps to the operations. It's fairly >>>> obvious but probably should be said. >>> >>> * Open: Agreed, I haven't yet tackled that, but how about the following: >>> >>> 1) In each of the subsections of Section 3, say in one sentence: something like >>> >>> "The formal semantics of [Operation] is covered in [pointer to respective subsection of section 4.3]" >> >> +1, I'll add that > > Now that I've put all the mappings from syntax to semantics in one separate subsection 4.5 > I'd rather suggest to just add a sentence in the beginning of Section 3, saying that the formal semantics of > those operations is covered in Section 4.5 below. Done Alex. > >> >>> >>> 2) After the formal definitions of update operations in subsections 4.3 in each subsection, >>> say how the syntactic operations of Section 3 map to those update Operations. > > This is exactly what Section 4.5 is for. > > best, > Axel > >> >> I'm not sure what you mean here, you want to give examples and show how it works with the formal model ? >> >> Alex. >> >>> >>> >>>> == 4.1.1 Graph Store >>>> >>>> [] s/associated to/associated with/ >>> >>> done. >>>> >>>> [*] Say the IRIi are distinct. >>> >>> done. >>> >>>> [] It says: "1 <= i <= n" but nothing about n >>> >>> done. >>> >>>> == 4.1.2 Update Operation >>>> >>>> The "t+1" notation isn't used anywhere. >>>> >>>> As the state of a store only depends on the previous state and the >>>> operation and not t-2, it's not necessary. >>>> >>>> Is this definition used anywhere? I could immediately see that it's >>>> needed and wondered if it is historical now. >>>> >>> >>> Well, yes, I also think it is kind of historical now, but it illustrates the shape in which all the operations are defined... so I'd like to keep it, but I replaced t, t+1 with simply GS and GS', and renamed the definition/subsection to "Abstract Update Operation" >>> so, I consider this done as well from my side. >>> >>>> == 4.2 Auxiliary Definitions >>>> == 4.2.1 Dataset-UNION >>>> >>>> [*] An RDF dataset is a set { DG, (<u_i>, G_i)} -- write it same as >>>> query has it, not "DG' union {(iri'j, G'j) | 1 <= j <= m})" >>> >>> done. I think the way I write it now works { } were missing around DG' >>> >>>> [**] Not merge - this must be a union. not rename blank nodes apart. >>>> Otherwise one operation followed by another will not update the same >>>> bNode. And datseta-diff is not going to work. >>> >>> done. >>> >>>> >>>> == 4.2.2 Dataset-DIFF >>>> >>>> [*] dataset comment as dataset-union. >>>> [**] Its says "merge" (bullet 3). Should be set-difference or minus. >>> >>> done. >>> >>>> [] G_j should be G sub j. >>> >>> done. >>> >>>> >>>> == 4.3.1 Insert Data Operation >>>> >>>> """ >>>> graph_triples, i.e. either a dataset consisting of a single named graph >>>> and an empty default graph >>>> """ >>>> [**] As we have defined dataset-union, I think this should be dataset >>>> union, nor limited to one graph. See also the graph_triples issue above. >>>> >>> >>> done. this is all changed now to QuadPattern. >>> >>>> == 4.3.2 Delete Data Operation >>>> >>>> [**] graph_triples >>>> >>> >>> done. this is all changed now to QuadPattern >>> >>> >>>> == 4.3.3 Delete Insert Operation >>>> >>>> """ >>>> Triples are identified as they match a particular Group Graph Pattern P. >>>> """ >>>> [**] The triples here are the ones to be deleted or inserted - they are >>>> not identified by matching - there is a template stage in between. >>> >>> done. this has changed significantly. >>> >>>> [**] Define modify_template sub DEL and modify_template sub INS >>>> >>> >>> done. this has changed significantly. >>> >>> >>>> [**] Dataset(modify_template, P) >>>> >>>> Write this out formally: >>>> >>>> Dataset(modify_template, P) = { instantiate(modify_template) | μ a >>>> solution of P } >>>> >>>> instantiate(modify_template) = .... >>>> >>> >>> done. this has changed significantly. >>> >>>> >>>> These are superseded if there is an abbreviated forms section: >>>> == 4.3.4 Delete Operation >>>> == 4.3.5 Insert Operation >>>> == 4.3.6 Delete Where Operation >>>> >>> >>> * Open: Agreed, but no time yet to address those. Suggest to leave 'as is' for the moment, not a roadblock for LC, IMO. >>> >>>> >>>> == 4.3.7 Insert Where Operation >>>> [**] What's this used with? >>>> "Insert Where ... are *deleted* from the Graph Store" >>>> >>> >>> done. this was copy-paste nonsense, subsection dropped. >>> >>>> == 4.4.1 Create Operation >>>> >>>> [*] Either something on what happens about empty graphs or, in the >>>> section intro, say the definitions assume we can have empty graphs. the >>>> latter is probably better. >>> >>> * done? Added: >>> "<p>Note: Since (non graph-aware) graphstores may remove graphs that are left empty, for such graph stores any CreateOperation may be viewed as immediately followed by a DropOperation, cf. next subsection.</p>" >>> >>> after the definition. Added a similar sentence in Section 4.3.8. >>> However, don't feel entirely happy with that... I would also need to make a similar remark in the delete and deleteData sections? >>> >>>> == 5 Conformance >>>> [*] remove / update name to "RDF Dataset HTTP Protocol" >>> >>> done. I changed the name now uniformly to "SPARQL 1.1 Graph Store HTTP Protocol" >>> >>> >> >> >
Received on Monday, 2 May 2011 22:47:24 UTC