- From: Axel Polleres <axel.polleres@deri.org>
- Date: Fri, 29 Apr 2011 23:54:19 +0100
- To: "Passant, Alexandre" <Alexandre.Passant@deri.org>
- Cc: "Andy Seaborne" <andy.seaborne@epimorphics.com>, "SPARQL Working Group" <public-rdf-dawg@w3.org>
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. > > > > > 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 Friday, 29 April 2011 22:54:49 UTC