- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Thu, 28 Apr 2011 08:53:40 +0100
- To: public-rdf-dawg@w3.org
On 27/04/11 23:36, Axel Polleres wrote: > Should we add the following example as test cases the test suite, making explicit that the behavior is not dictated by the spec? > Can someone remind me how/whether we have dealt with test cases that allow - implementation dependent - alternative outcomes? > I think I vaguely remember that we had that case already... > > Axel > > Graph store: > <g1> > _:a :p :o . > > Do we want Q1 > > INSERT {GRAPH<g1> ?s :p :o2 } WHERE {GRAPH<g1> ?s :p :o } > > and Q2 > > INSERT {GRAPH<g1> ?s :p :o2 } USING<g1> WHERE {?s :p :o } > > and Q3 > > INSERT {GRAPH<g1> ?s :p :o2 } USING NAMED<g1> WHERE {GRAPH<g1> ?s :p :o } > > behave the same or different? That is, does the new dataset defined by USING/USING NAMED change bnodes or not? I want them to be the same. I want it to be legal within-graph-store operations to treat bNodes as entities in the store, like IRIs or literals. graphs/sub-graphs use case matter to me. I don't care if we also make it legal to rename bNodes apart regardless, but I do not want to force that behaviour. It's very hard to do the renaming consistently across operations, and across requests and across queries+requests. > Essentially, for Q1, we'd expect as resulting graph store: > > <g1> > _:a :p :o; :o2. Yes. (it's potentially different _:a but the point is there is one) > whereas for Q2/Q3 we probably may rather expect: > > <g1> > _:a :p :o. > _:b :p :o2. > I don't expect that. Explaining why WHERE {GRAPH<g1> ?s :p :o } USING<g1> WHERE {?s :p :o } must be different is a "challenge". > but that might be implementation depenent also > > <g1> > _:a :p :o; :o2. which is what ARQ does. Andy
Received on Thursday, 28 April 2011 07:54:11 UTC