- From: Steve Harris <steve.harris@garlik.com>
- Date: Tue, 10 Nov 2009 06:26:57 +0000
- To: Andy Seaborne <andy.seaborne@talis.com>
- Cc: Paul Gearon <gearon@ieee.org>, public-rdf-dawg@w3.org
On 9 Nov 2009, at 21:56, Andy Seaborne wrote: > On 09/11/2009 20:40, Steve Harris wrote: >> >> It should follow the same rules as CONSTRUCT as far as possible, for >> reasons of sanity preservation. However, it's not so obvious what >> that >> means in this case. >> >> CONSTRUCT mints "new" bNodes when you give it [] or _:b. Isn't it an >> error to mention bNodes with the same label in the CONSTRUCT and >> WHERE >> clauses? That makes things a little tricky. > > Error? - they are different bnodes. > > A bnode label scope is (1) the BGP in which it appears (pattern) or > (2) the template instantiation for CONSTRUCT. Yeah, but in (1) it's an error for it to appear in two places: SELECT * WHERE { { _:x <p> <o> } { _:x <p> <o> ) } as is SELECT _:x WHERE { _:x <p> <o> } I wasn't sure if it was in CONSTRUCT or not, I guess not. Seems a little odd, but OK. - Steve -- Steve Harris, CTO, Garlik Limited 2 Sheen Road, Richmond, TW9 1AE, UK +44(0)20 8973 2465 http://www.garlik.com/ Registered in England and Wales 535 7233 VAT # 849 0517 11 Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD
Received on Tuesday, 10 November 2009 06:27:31 UTC