Hi Milorad According to the sparql reference, multiple FROM clauses should mean a query over the merge of all specified datasets, so the expected results you presented should be returned indeed. Is this a bug?
http://www.w3.org/TR/sparql11-query/#unnamedGraph Cheers Dfcp Em 02/10/2013 06:42, "Milorad Tosic" <[email protected]> escreveu: > Hi, > > What is the intended semantics of the FROM clause in SPARQL queries? I got > confused with the results of the following tests that I run against a rdf > store (arq-2.8.7, jena-2.6.4, tdb-0.8.9): > > Let us have two datasets in a single triplestore: > PREFIX ex: <http://www.example.info> > > ex:ds1 { <ex:r><ex:p1><ex:o1> . } > ex:ds2 { <ex:r><ex:p2><ex:o2> . } > (each of the datasets contains a single triplet, each of the triplets has > the same subject <ex:r>.) > > Let us now run the query that is going to return all triplets from the > triplestore that have <ex:r> as a subject. It should be like this: > PREFIX ex: <http://www.example.info> > FROM <ex:ds1> > > FROM <ex:ds2> > SELECT ?p ?o WHERE { > <ex:r> ?p ?o . > > } > > As expected, we get the following results: > > ?p ?o > > <ex:p1> <ex:o1> > <ex:p2> <ex:o2> > > 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. > > So, is my expectation wrong because of misinterpretation of the standard > specification or it is a bug in the version of Jena that I work with? > > Thanks, > Milorad
