syntax tests update

I have replaced the old SyntaxFull test set with the tests from SyntaxDev.

super-manifest:

http://www.w3.org/2001/sw/DataAccess/tests/data-r2/manifest-syntax.ttl

Syntax test sets (181 tests in total):

http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql1/
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql2/
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/syntax-sparql3/

None of these tests are currently DAWG-approved, of course.

Only syntax-sparql3 contains negative syntax tests. They are marked as
such in the manifest, and can also be recognized by the filename, which
is prefixed 'syn-bad-'.

I would ask everyone with a SPARQL parser to try out these tests and
report possible problems.

I have also ran the set through Sesame's SPARQL parser of course. I get
a number of errors (24) and failures (18), most of which have to do with
our implementation (we currently do not yet support functions and
ordering, and the parser throws exceptions on queries containing those
features).

I also came across this interesting failure. The following parser test
(syntax-sparql1/syntax-forms-02) fails:

 PREFIX : <http://example.org/ns#>
 SELECT * WHERE { ( [] [] ) }

To be honest I have no idea how to read this query, I would appreciate
insights.

Also: a fair number of the errors Sesame's parser throws have to do with
the queries in the syntax-sparql2 set, which use relative URIs in
queries (e.g. <a>, <b>, <p1>, etc.). A relative URI has to be resolved
against a base URI - which is normally provided using a BASE clause.
However, the queries in this test set do not have such a clause. Andy
has pointed out to me that according to RFC3986 (URI) in such cases the
base URI should be provided by the 'embedding entity', i.e. the location
of the file that contains the query. Sesame's query parser has no
feature for this however: it only accepts a query string as an argument,
a base URI for resolving any relative referencing inside that query can
not be provided seperately. I guess that this is a shortcoming in our
current parser that we should deal with in Sesame.

However, correct resolution in this fashion is a feature of file
processing, not query parsing, IMHO, and the test set is designed to
test query parsing, not file processing. So I would suggest that we
modify these test cases to have a base URI inside the query. This avoids
having implementations fail tests on this problem. Thoughts?

Next up: evaluation tests (which are, after all, the more interesting
test cases ;)).

Jeen
-- 
Dr. Jeen Broekstra                                          Den Dolech 2
Information Systems Group                                        HG 7.76
Department of Mathematics and Computer Science              P.O. Box 513
Technische Universiteit Eindhoven                      5600 MB Eindhoven
tel. +31 (0)40 247 36 86                                 The Netherlands

Received on Thursday, 18 January 2007 15:39:32 UTC