I believe there have been.  I wrote a selection of unit tests around
dataset descriptions at one point and I remember making some fixes to the
relevant code so this may indeed already be fixed

Rob

On 10/2/13 11:27 AM, "Andy Seaborne" <[email protected]> wrote:

>On 02/10/13 10:41, Milorad Tosic wrote:
>
> > (arq-2.8.7, jena-2.6.4, tdb-0.8.9)
>
>Quite old.  Thgere may well have been fixes.
>
>> Next, let us run the following query ("return all resources that have a
>>property with value  <ex:o1> and a property with value  <ex:o2>" would
>>be an non-formal not-necessarily correct interpretation in English
>>language):
>> PREFIX ex:<http://www.example.info>
>> FROM <ex:ds1>
>>
>> FROM <ex:ds2>
>> SELECT ?s WHERE {
>>   ?s ?p1 <ex:o1> .
>>   ?s ?p2 <ex:o2> .
>>
>> }
>>
>> One would expect the following result:
>> ?s
>>
>> <ex:r>
>> Rationale for the expectation is that FROM clause constructs union of
>>the default graph and the graphs specified by FROM statements in the
>>query, and then runs rest of the query against the union of graphs.
>>
>> However, experimentation results are different: The query returns an
>>EMPTY result.
>> Rationale for the obtained results is that query was run against each
>>individual dataset and then the union of results is returned.
>
>While I agree the results are wrong (try the current version), this
>isn't a corect statement of why.
>
>{
>   ?s ?p1 <ex:o1> .
>   ?s ?p2 <ex:o2> .
>}
>
>both parts must match for the same ?s
>
>Each triple pattern is matched agains the combined graph, with duplicate
>supression so the combined graoph really is a set of triples.  There is
>no union going on after some matching, it happens as each triple pattern
>is matched.
>
>It has to be that way:
>1/ Get the right cardinality
>2/ patterns can span graphs
>
>c.f the different:
>
>GRAPH ?g {
>    ?s ?p1 <ex:o1> .
>    ?s ?p2 <ex:o2> .
>}
>
>where the pattern does not span graphs.
>
>       Andy
>
>
>




Reply via email to