On 24/08/12 11:25, Andy Seaborne wrote:
On 23/08/12 22:51, Simon Helsen wrote:
Currently, TDB/ARQ does not do this, but only picks matches
from graphUri1. Given that unionDefaultGraph=true should merge all named
graphs into the default graph, this is surprising. To elaborate a bit, we
found that the following query

SELECT ?o
FROM NAMED <graphUri2>
WHERE {  ?s <somePredicate> ?o }

Bug.

Or maybe not. The code specifically tests for the case of unionDefaultGraph and not specificed graphs on the dynamic datasets description.

The code is in:

com.hp.hpl.jena.sparql.coreDynamicDatasets

It moved from TDB only a few days ago but no functionality changed.

It is still the case that if you did specific the default graph at all, then that applies, regardless of union-setting.

And of course the real (storage) default graph and the union graph both have URI names.

        Andy

If you specify the dataset description, you are giving a complete
description.  There is an empty default graph in that description.

does pick results from graphUri2 (when run with unionDefaultGraph==true).
Also, when we execute the following query:

SELECT ?o
   FROM <graphUri1>
   FROM NAMED <graphUri2>
WHERE {  graph ?g { ?s <somePredicate> ?o } }

then tdb seems to pick results from graphUri2 which is as expected.

We were thinking that explicit FROM/FROM NAMED clauses simply ignores the
unionDefaultGraph=true switch which could then explain the behavior of
the
first query above, but it doesn't explain the one of the second query.

Feedback on this is welcome.

thanks,

Simon



Reply via email to