Re: USING/USING NAMED test cases...

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