Re: Discussion on DB-12?

On 18/10/11 09:05, Axel Polleres wrote:
> [...]
>> all go through "Dataset-UNION" so it looks like it already says that anyway.
>>
>> So I think it already says it and in the right place.
>
> Hmmm, while all these operations are grounded in Dataset-UNION, I think this is an orthogonal issue/question.

dataset-UNION gives it the semantics and because it is the operation for 
explicit CREATE GRAPH as INSERT DATA GRAPH, then the semantcis of the 
operations around cring the graph are the same.

CREATE GRAPH <g>

is defined to be

INSERT DATA { GRAPH <g> { } }

> Strictly speaking, it seems to me, so far in section 3.1 we just say that implementations may remove graphs that are left empty.
> We do not say that this has to be done either always or never, ie. we seem to allow implementations that is may be done in some cases, and not in others.
>

I don't read David's comments as about the removal of graphs when empty.

I read them as about whether
   CREATE GRAPH <g>
behaves like
   INSERT DATA { GRAPH <g> { ... } }

If Parliament had removed the empty graph at CREATE GRAPH then it would 
have behaved as expected in the INSERT DATA  Someone [*] hadn't 
structured the interface of Parliament to the main SPARQL Update 
processor properly and CREATE GRAPH was handled generically, not passed 
to the storage layer.

> I have the impression that David's proposed remark in Section 3.1 is an attempt to make this more crisp,
> but after what you said and rethinking this a bit, I am afraid that the proposed wording
> kind of doesn't say anything:
>
>>> [[
>>> If a graph is created implicitly by an update operation, then the
>>> behavior of the Graph Store MUST be functionally equivalent to its
>>> behavior if the graph had been created explicitly by a CREATE operation.
>>> ]]
>
>
>   Strictly speaking, we don't even prescribe that one CREATE operation behaves the same as another, do we?
> So, saying that implicit creations behave as a CREATE operation doesn't say too much, does it?

We do in as much as graph creation only happens via the definition of 
Dataset-UNION.

The suggestion is one piece of text - if we add that explanation (the 
MUST does not override the formal defn), then what about deleting?  Or 
creating via templates?  or loading?  At least by appealing to the 
formal defn, we have everything in one place.

	Andy

[*] :-)
>
> best,
> Axel
>
> On 17 Oct 2011, at 23:26, Andy Seaborne wrote:
>
>>
>>
>> On 17/10/11 21:46, Axel Polleres wrote:
>>> Hi all,
>>>
>>> As for
>>>
>>>     http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2011Sep/0008.html
>>>
>>>
>>> David Booth suggests we add the following in SPARQL 1.1 update:
>>>
>>> [[
>>> If a graph is created implicitly by an update operation, then the
>>> behavior of the Graph Store MUST be functionally equivalent to its
>>> behavior if the graph had been created explicitly by a CREATE operation.
>>> ]]
>>>
>>> I have no strong feelings about this, but also think it doesn't harm as
>>> clarification. So, modulo objections (please let me know), I for now added
>>> that sentence in the editors draft and have prepared a  response draft along
>>> those lines at: http://www.w3.org/2009/sparql/wiki/CommentResponse:DB-12
>>>
>>> let me know if any objections or otherwise please send a short approval of my draft response,
>>> Axel
>>>
>>
>> This is a detail that should be covered by the formal section.
>>
>> Normative text in "3.1.1 INSERT DATA" isn't the right place.
>>
>>
>> 4.3.1 Insert Data Operation
>>
>> OpInsertData(GS, QuadPattern) = Dataset-UNION(GS,
>> Dataset(QuadPattern,{},GS,GS))
>>
>> 4.3.3 Delete Insert Operation
>> ...
>>
>> 4.4.1 Create Operation
>> OpCreate(GS, iri) = Dataset-UNION(GS, (iri, {}))
>>
>> all go through "Dataset-UNION" so it looks like it already says that anyway.
>>
>> So I think it already says it and in the right place.
>>
>>
>>          Andy
>>
>>
>

Received on Tuesday, 18 October 2011 10:02:46 UTC