- From: Jeen Broekstra <j.broekstra@tue.nl>
- Date: Thu, 18 Jan 2007 16:35:29 +0100
- To: dawg mailing list <public-rdf-dawg@w3.org>
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