W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > October to December 2012

Re: 2 New INSERT DATA test cases (was: Test case proposal in the context of RV-10: insert-data-same-bnode)

From: Andy Seaborne <andy.seaborne@epimorphics.com>
Date: Mon, 01 Oct 2012 13:49:02 +0100
Message-ID: <5069913E.1090506@epimorphics.com>
To: "Polleres, Axel" <axel.polleres@siemens.com>
CC: "public-rdf-dawg@w3.org" <public-rdf-dawg@w3.org>


On 01/10/12 12:43, Polleres, Axel wrote:
> Dear Andy,
>
> Just to clarify: this means that you agree that
>
>    INSERT  DATA { GRAPH :g1  { _:b :p :o } };
>    INSERT  DATA { GRAPH :g2  { _:b :p :o } }
>
> would behave differently from
>
>    INSERT  { GRAPH :g1  { _:b :p :o } } WHERE {};
>    INSERT  { GRAPH :g2  { _:b :p :o } } WHERE {}
>
> yes?

Yes.

The use of bNodes is different.

The first is talking about actual bNodes to go in the data

The second is talking about placeholders in a template substitution.

GRAPH is not a factor.

	Andy

>
>
> Thanks,
> Axel
>
>
>> -----Original Message-----
>> From: Andy Seaborne [mailto:andy.seaborne@epimorphics.com]
>> Sent: Montag, 01. Oktober 2012 13:38
>> To: public-rdf-dawg@w3.org
>> Subject: Re: 2 New INSERT DATA test cases (was: Test case
>> proposal in the context of RV-10: insert-data-same-bnode)
>>
>>
>>
>> On 01/10/12 12:17, Polleres, Axel wrote:
>>> Dear Olivier,
>>>
>>> Thanks for joining the discussion!
>>>
>>> The test cases were created under the understanding that bnodes are
>>> scoped over the whole request (cf. clarifying rewording in
>> Update and
>>> draft response to RV-10) [1,2]. If there's no agreement
>> here, then we
>>> have to change the definitions in Update, and apparently,
>>> implementations which passs the Suggested test cases would
>> need to be changed.
>>>
>>> As for your suggested additional case, I think this is a tricky one:
>>>
>>>> INSERT  { GRAPH :g1  { _:b :p :o } } WHERE {}; INSERT  {
>> GRAPH :g2  {
>>>> _:b :p :o } } WHERE {}
>>>
>>> According to my reading of our definitions, this depends on
>> whether we
>>> view the two empty mappings returned by the two WHERE clauses as
>>> identical or Different, since the skolem function sk in
>>>
>> http://www.w3.org/2009/sparql/docs/update-1.1/Overview.xml#def_dataset
>>> QuadPattern is unique to the request and the mapping (this
>> behaviour
>>> is analogous to CONSTRUCT)
>>
>> In a SPARQL Construct different bNodes are generated for each
>> occurrence of a solution mapping even in the same query.
>>
>> If the WHERE matches with two empty rows:
>>
>> row1 = {}
>> row2 = {}
>>
>> then
>>
>> CONSTRUCT { _:a :p :o }
>>
>> generates two triples with two different bNodes as subjects.
>>
>> So within the same WHERE clause the same-by-value binding
>> generates different bNodes.
>>
>> Therefore only (2) makes sense to me.  Defining in terms of
>> operations is enough.
>>
>>        Andy
>>
>>
Received on Monday, 1 October 2012 12:49:33 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:49 GMT