- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Sat, 30 Apr 2011 13:29:07 +0100
- To: Axel Polleres <axel.polleres@deri.org>
- CC: public-rdf-dawg@w3.org
On 30/04/11 00:36, Axel Polleres wrote:
>
> On 29 Apr 2011, at 17:44, Andy Seaborne wrote:
>> On 29/04/11 10:47, Axel Polleres wrote:
>>> Greg, all,
>>>
>>> I finally addressed point
>>> "4) blank nodes in QuadPattern aren't mentioned explicitly in OpDeleteInsert"
>>> which came from your review...
>>
>> Comment on this below. There's a remaining sk-ism and I'm not clear
>> that the bnode template renaming is in the right place.
>
> yes, you're probably right about that one, see below.
> Didn't touch the document yet; I need to sync with
> Alex/Paul first not to run into conflicts while editing,
> won't edit before Monday... so, in what follows, I just write down how
> I suggest/plan to address the things Andy raised.
>
>>
>>>
>>> In order to address this, I refined the definition of Dataset()
>>> which now explicitly mentions the treatment of blanknodes in QuadPatterns, see
>>>
>>> http://www.w3.org/2009/sparql/docs/update-1.1/Overview.xml#def_datasetPattern
>>>
>>> Please check (and I hope no more major concerns/flaws with that definition)
>>>
>>> As far as I can see, this addresses the last of the major issues in Update from my side...
>>> I would kindly ask Paul/Alex to look through the reviews and answers and any "*Open" points
>>> again to be sure and check pubrules, but I hope this brings us now pretty close to LC readiness!
>>>
>>> If anybody still sees any LC roadblocks for Update that I've missed, please let us know!
>>>
>>> cheers,
>>> Axel
>>
>> Revision 1.120
>> By the way: the CVS log entry is
>>
>> --------
>> Revision 1.120 2011/04/29 09:42:21 apollere2
>> Added missing
>>
>>
>>
>> --------
>> i.e. several blank lines. Yes, something missing!
>
>
> :-) cvs log Overview.xml ...
> ----------------------------
> revision 1.120
> date: 2011/04/29 09:42:21; author: apollere2; state: Exp; lines: +6 -1
> Added missing<ul/>
> ----------------------------
>
> :-) ... fixed that in the xml to ...
>
> "
> Added missing<ul/>
> "
>
>>
>> I took a slightly hurried pass over the formal definitions. Comments
>> below. No showstoppers in the design, but some things could do with fixing.
>>
>> See the 5 "[Major]" below.
>>
>> Andy
>>
>>
>> [MUST]
>> **Remove editors note about issue-59.
>
> You mean, the reference to he ISSUE? Is it harmful/forbidden to leave a reference to a CLOSED issue in?
> I think you are probably right in the sense that we should mark all "AT RISK" parts uniformly across our LC docs.
> We can go with the "red box" as you have it in
> http://www.w3.org/2009/sparql/docs/query-1.1/rq25.xml#grammar
> just leaving the sentence:
> "
> The following shortcuts have been proposed for graph management and are marked "AT RISK". The SPARQL WG is seeking comments and feedback from implementers and end-users regarding this proposal.
> "
> in such a red box.
If the issue is closed, they are not really at risk? Just seems confusing.
>>
>> ** Definition: Graph Store
>>
>> [Minor improvement]
>> avoid "identified"
>> """
>> zero or more named slots identified by an IRI iri sub i.
>> """
>> ==>
>> """
>> zero or more named slots. The unnamed slot holds an RDF graph; each a
>> named slot is pair of graph and an associated IRI.
>> """
>
> Fine with me.
>
>> Remove "Note:"
>
> you just mean the bold "Note:", not the actual note, I assume... fine to remove that.
No - remove the whole thing. if it says "slightly abusing notation" you
are just asking for trouble!
>
>>
>> ** Definition: Abstract Update Operation
>>
>> [Editorial]
>> The languge defines a "An Update Operation"
>> Either drop "Abstract" or include in first line.
>
> fine.
>
>>
>> [Minor] it would be nice to say what "atomic" means
>>
>
> fine. somthing like:
>
> "Here, by atomic we mean that the operation performs the described transformation of the Graph Store either completely or leaves the Graph Store unchanged."
>
>
>> ** Deal with 4.2 @@@
>>
> @@@ is currently only used to mark "merge"
> if all agree we don't need the merge definition here anymore, I am fine to simply drop.
>
>> ** 4.2.4 Dataset( QuadPattern, μ )
>> [Minor]
>> case '{}' is covered by '{' TriplesTemplate? '}'
>
> true, but kinda prefer to make it explicit, if no objections.
Fine - just pointing it out.
>
>>
>> [Major]
>> 'GRAPH' VarOrIRIref '{' TriplesTemplate? '}''
>>
>> Consider GRAPH ?g {<s> <p> <o> }
>> Need to say that if ?g is unbound, there are no triples.
>>
>
> good point. suggested:
>
> -------
> Dataset(QuadPattern, μ ) is the Dataset consisting of the empty default graph and a named graph (μ(VarOrIRIref), G) such that G is composed by all valid RDF triples obtained from substituting the variables in TriplesTemplate according to μ and combining these triples into a single RDF graph by set union.
> -------
> -->
> -------
> Dataset(QuadPattern, μ ) is the Dataset consisting of the empty default graph and, in case μ(VarOrIRIref) yields a valid IRI, a named graph (μ(VarOrIRIref), G) such that G is composed by all valid RDF triples obtained from substituting the variables in TriplesTemplate according to μ and combining these triples into a single RDF graph by set union.
> -------
And add what happens if it's not a IRI? It's unspecificed in your text
- implicitly it's do nothing, but it isn't defined.
>
>>
>> ** 4.2.5 Dataset( QuadPattern, P, GS )
>>
>> [Major]
>> Doesn't the bNode replacement done by sk have to be in 4.2.4 not here?
>
> hmmmm...
>
>> because in 4.3.1 Insert Data Operation, the replacement needs to be done
>> but the operation is:
>>
>> OpInsertData(GS, QuadPattern) =
>> Dataset-UNION(GS, Dataset(QuadPattern,{}))
>>
>> so no replacement is done.
>
> ... yes! :-) will change.
>
>> ** 4.3.1 Insert Data Operation
>> ** 4.3.2 Delete Data Operation
>> ** 4.3.3 Delete Insert Operation
>>
>> [Editorial]
>> "either in the default slot or in a named slot."
>> ==>
>> "in the default slot or in named slots."
>
>>
>> The either-or is confusing as it can be both.
>>
>
> fine.
>
>
>> ** 4.3.4 Load Operation
>> [editorial]
>> "; i.e.;" => "; i.e."
>
> fine.
>
>>
>> ** 4.3.5 Clear Operation
>>
>> [Major]
>> Definition: Load Operation
>> ==>
>> Definition: Clear Operation
>
> fine.
>
>>
>> ** 4.4.1 Create Operation
>> Definition: CreateOperation
>>
>> Generally, what happens on errors?
>> The defn says "create a new slot" and nothing about if the IRI is in use.
>
> yes, should say something like:
>
> "
> OpCreate(GS, iri) = Dataset-UNION(GS, (iri, {})) ... if iri not in graphnames(GS)
> = GS ... otherwise
> "
>
>>
>> ** 4.4.2 DropOperation
>> [Major]
>> OpDrop(GS, iri) = ... GS minus {(irij, Gj)}
>>
>> "minus" on GS isn't defined.
>
> add:
> "where minus here is set-difference"
> or alike.
That will work but it might be (eitorially) easier to write out GS and
say "i = 1 to n except j"
Not a block on LC.
>
>>
>> ** 4.5 Mapping Update Requests to the Formal Model
>> [Major]
>> Table uses "Tr(GS,UsingClause)" but the Tr operation is "Tr(GS,Request)"
>> and "UsingClause" isn't a request
>
> right, sloppily re-used that out of convenience...
> can rename "Tr(GS,UsingClause)" to something like "Tr<sub>Dataset</sub>(GS,UsingClause)" to set it apart.
I think I need to reread it (if time...) about USING and WITH.
Andy
>
>
>
> Great, thanks again for the quick and on-spot remarks! Looks as we're converging.
>
> Axel
>
Received on Saturday, 30 April 2011 12:29:41 UTC