Hi everyone involved, just to say that we finally found the problem
(as usual just a few days after mailing everyone… :S).

The problem was that, in our setup (even with the inference engine
activated), the queries are not parsed properly. More specifically, in
a query of the form "SELECT ?a ?b WHERE {...}" if the string between
the last variable and the "WHERE" contains only new line characters
(i.e. matches "\n+") and does not contain spaces (either ' ' or '\t')
then the last variables is discarded.

Therefore:

SELECT ?a
WHERE
{
    ?a type foo
}

will return a list of empty results while


SELECT ?a     
WHERE
{
    ?a type foo
}

does not. In the same way:

SELECT ?a ?b
WHERE
{
    ?a type foo
    ?b type foo
}

will return a list of the form [a=<string>] while

SELECT ?a ?b                                             
WHERE
{
    ?a type foo
    ?b type foo
}

will return a list of the form [a=<string>;b=<string>]. I don't know
if this qualifies as a bug but list of variables separated from the
'WHERE' only by new line characters are very common, e.g. in
http://swat.cse.lehigh.edu/projects/lubm/queries-sparql.txt

Thanks for everyone for the fast support,
-- 
louis

Reply via email to