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

RE: Implement decision on bNodelabel/INSERT DATA operations.

From: Polleres, Axel <axel.polleres@siemens.com>
Date: Wed, 3 Oct 2012 17:05:53 +0200
To: "andy.seaborne@epimorphics.com" <andy.seaborne@epimorphics.com>
CC: "public-rdf-dawg@w3.org" <public-rdf-dawg@w3.org>
Message-ID: <9DA51FFE5E84464082D7A089342DEEE80149E378BB95@ATVIES9917WMSX.ww300.siemens.net>
The resolution text is:

"It's an error to use the same blank node label in two different operations in the same request."

This resolution precludes also the use across two INSERTs (without DATA).
Probably it is simplest and least ambiguous to just stick to
that resolution wording, i.e., just replace

s/
The same blank node label can not be used in:
 * two basic graph patterns in a SPARQL Query
 * two WHERE clauses of SPARQL Update operations
 * two INSERT DATA SPARQL Update operations
/
The same blank node label can not be used in:
 * two basic graph patterns in a SPARQL Query
 * two different <a href="http://www.w3.org/TR/sparql11-update/#operation">SPARQL1.1 Update operations</a> in the same <a href="http://www.w3.org/TR/sparql11-update/#request">SPARQL1.1 Update request</a>.
/

Does that work for you?

Best,
Axel

P.S.: note that the case of two WHERE clauses within the same update operation (e..g by nested queries in the WHERE part of an update operation, is *somewhat* covered by the first bullet already, since these are 2 different BGPs in the same
"query part" of an update operation, so I don't think we need to mention this separately, but might want to clarify wording here, not sure it's necessary, though.

> -----Original Message-----
> From: Andy Seaborne [mailto:andy.seaborne@epimorphics.com]
> Sent: Mittwoch, 03. Oktober 2012 16:50
> To: Polleres, Axel
> Cc: public-rdf-dawg@w3.org
> Subject: Re: Implement decision on bNodelabel/INSERT DATA operations.
>
> On 03/10/12 15:22, Polleres, Axel wrote:
> > I am sorry to bother again, but after re-reaging, I still
> have a question regarding our resolution:
> >
> > "
> > The same blank node label can not be used in:
> >
> > *two basic graph patterns in a SPARQL Query *two WHERE clauses of
> > SPARQL Update operations *two INSERT DATA SPARQL Update operations
> > Note that the same blank node label can occur in different
> QuadPattern clauses in a SPARQL Update request.
> > "
> >
> > According to my reading of
> >   http://www.w3.org/2009/sparql/meeting/2012-10-02#resolution_3
> > and my understanding of what was said in the Telco, also the reuse
> > across INSERT clauses (without data) needs to be prohibited, which
> > this wording doesn't exclude.
>
> In context, the discussion was about INSERT DATA where the
> blank node associated with the label goes directly into the
> graph store.  I made the minimal change necessary.
>
> Indeed, Olivier's example includes this case and the email
> trail does not discuss this further.
>
> http://lists.w3.org/Archives/Public/public-rdf-dawg/2012OctDec
> /0000.html
>
> As per my note, a blank node label in a template is not the
> same case as data - it gets cloned on each template
> instantiation.  c.f.CONSTRUCT.
>
>       Andy
>
> >>> (NB: the allowed reuse in different QuadPattern is not visible:
> >>> each individual template is subject to instantiation before
> >> any blank
> >>> nodes get in to the data.)
>
Received on Wednesday, 3 October 2012 15:06:22 GMT

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