- From: Olivier Corby <Olivier.Corby@sophia.inria.fr>
- Date: Mon, 28 Mar 2011 17:02:01 +0200
- To: SPARQL Working Group <public-rdf-dawg@w3.org>
- Message-ID: <4D90A2E9.7070802@sophia.inria.fr>
Here is my review of test cases (Action-421) In the 2011-03-23 test case version (http://www.w3.org/2009/sparql/docs/tests/data-sparql11), there are 21 manifests and 350 test cases. I pass with success 336 test cases with Corese KGRAM SPARQL 1.1 interpreter. There are 8 delete-insert tests that should be changed to Negative Syntax Test (then it will be 344 positive tests). There are 6 entailment tests for which I do not find the same results, and I propose alternative solutions. In addition, I have found some typos detailed below and I provide some other comments. I also (rapidly) review the test case document itself. Best regards, Olivier Test cases with approved status: 34 aggregates : 3 bind : all construct : all project-expression : all subquery : all Missing test cases: filter IF() test that nodes in path of length zero come from specified named graph graph <g1> {?x <p>* ?y} Some directories are empty: function-library entailment-owlds entailment-RDF entailment-RDFS The delete-insert manifest is not in the manifest-all Lack of uniformity on rdf:type of test cases: mf:NegativeSyntaxTest mf:NegativeSyntaxTest11 mf:NegativeUpdateSyntaxTest11 The default prefix is not uniform in all manifests. Most of them use: @prefix : <http://www.w3.org/2009/sparql/docs/tests/data-sparql11/syntax-update-2/manifest#> . except: syntax-query/manifest.ttl:@prefix : <manifest#> . syntax-update-1/manifest.ttl:@prefix : <manifest#> . entailment/manifest.ttl:@prefix : <http://www.w3.org/2001/sw/DataAccess/tests/data-r2/basic/manifest#> . There are two different syntax in update manifests to address named graph: ut:graphData [ ut:graph ut:graphData [ ut:data ______________________ extra prefix: @prefix mfx: <http://jena.hpl.hp.com/2005/05/test-manifest-extra#> . in: syntax-query syntax-update-1 syntax-update-2 __________________ grouping :group02 can be removed: ## :group02 # Now the same as group01 ______________ basic-update :insert-using-01 is not in manifest entries however this test case is correct ______________ delete-insert These tests should be Negative Syntax Test because they have blanks in the delete part. The rdfs:comment should be changed :dawg-delete-insert-03 :dawg-delete-insert-03b :dawg-delete-insert-05 :dawg-delete-insert-06 :dawg-delete-insert-07 :dawg-delete-insert-07b :dawg-delete-insert-08 :dawg-delete-insert-09 __________________________ negation :temporal-proximity-by-exclusion-minus-1 is commented in the manifest entry list, it can be removed ______________________ entailment I suggest to remove the @base statement from manifest.ttl (there is no base in other manifests) Below is a list of test cases for which I do not find the same result. I detail why and propose an alternative. :rdfs03 rdf:type mf:QueryEvaluationTest ; mf:name "RDFS inference test RDFS rules incompleteness" ; dawgt:approval dawgt:NotClassified ; mf:action [ qt:query <rdfs03.rq> ; qt:data <rdfs03.ttl> ; sd:entailmentRegime ent:RDFS ] ; mf:result <rdfs03.srx> query: SELECT ?x WHERE { ex:a ex:b1 ?x . } data: ex:a ex:b1 ex:c1 . ex:b1 rdfs:subPropertyOf _:b2 . _:b2 rdfs:domain ex:c2 . result: x = http://example.org/ns#c1 x = http://example.org/ns#c2 rdfs:domain specifies the type of the subject, not the value, Result should be: x = http://example.org/ns#c1 Furthermore, in RDF, properties cannot be blanks. _________________________ :rdfs04 rdf:type mf:QueryEvaluationTest ; mf:name "RDFS inference test subClassOf" ; dawgt:approval dawgt:NotClassified ; mf:action [ qt:query <rdfs04.rq> ; qt:data <rdfs04.ttl> ; sd:entailmentRegime ent:RDFS ] ; mf:result <rdfs04.srx> . query: SELECT ?x WHERE { ex:a ex:b ?x . } data: ex:a ex:b ex:c1 . ex:c1 rdfs:subClassOf ex:c2 . result: x = http://example.org/ns#c1 x = http://example.org/ns#c2 Result should be: x = http://example.org/ns#c1 Subsumption occurs with rdf:type __________________________ :rdfs06 rdf:type mf:QueryEvaluationTest ; mf:name "RDFS inference test domain" ; dawgt:approval dawgt:NotClassified ; mf:action [ qt:query <rdfs06.rq> ; qt:data <rdfs06.ttl> ; sd:entailmentRegime ent:RDFS ] ; mf:result <rdfs06.srx> . query: SELECT ?x WHERE { ?x ex:b ex:c . } data: ex:a1 ex:b ex:c . ex:b rdfs:domain ex:a2 . result: x = http://example.org/ns#a1 x = http://example.org/ns#a2 rdfs:domain specifies the *type* of the subject, not the subject itself, Result should be: x = http://example.org/ns#a1 _________________________________________ :rdfs07 rdf:type mf:QueryEvaluationTest ; mf:name "RDFS inference test range" ; dawgt:approval dawgt:NotClassified ; mf:action [ qt:query <rdfs07.rq> ; qt:data <rdfs07.ttl> ; sd:entailmentRegime ent:RDFS ] ; mf:result <rdfs07.srx> . query: SELECT ?x WHERE { ex:a ex:b ?x . } data: ex:a ex:b ex:c1 . ex:b rdfs:range ex:c2 . result: x = http://example.org/ns#c1 x = http://example.org/ns#c2 rdfs:range specifies the *type* of the value, not the value itself, Result should be: x = http://example.org/ns#c1 _________________________________________________ :rdfs08 rdf:type mf:QueryEvaluationTest ; mf:name "RDFS inference test rdf:XMLLiteral subclass of rdfs:Literal" ; dawgt:approval dawgt:NotClassified ; mf:action [ qt:query <rdfs08.rq> ; qt:data <rdfs08.ttl> ; sd:entailmentRegime ent:RDFS ] ; mf:result <rdfs08.srx> . query: SELECT ?x WHERE { ex:d rdfs:range ?x . } data: ex:d rdfs:range rdf:XMLLiteral . result: x = http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral x = http://www.w3.org/2000/01/rdf-schema#Literal As we have also: rdfs:Literal rdfs:subClassOf rdfs:Resource result should be: x = http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral x = http://www.w3.org/2000/01/rdf-schema#Literal x = http://www.w3.org/2000/01/rdf-schema#Resource _________________________________________________ :rdfs11 rdf:type mf:QueryEvaluationTest ; mf:name "RDFS inference test subclasses of rdf:Container" ; dawgt:approval dawgt:NotClassified ; mf:action [ qt:query <rdfs11.rq> ; qt:data <rdfs11.ttl> ; sd:entailmentRegime ent:RDFS ] ; mf:result <rdfs11.srx> . query: SELECT ?x WHERE { ?x rdfs:subClassOf rdfs:Container . } data: ex:a ex:b ex:c . result: x = http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt x = http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag x = http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq rdfs:subClassOf is Reflexive, result should be: x = http://www.w3.org/1999/02/22-rdf-syntax-ns#Alt x = http://www.w3.org/1999/02/22-rdf-syntax-ns#Bag x = http://www.w3.org/1999/02/22-rdf-syntax-ns#Seq x = http://www.w3.org/2000/01/rdf-schema#Container entailment: owl:DataProperty should be replaced by owl:DatatypeProperty bind01.rq: ?p a owl:DataProperty . bind02.rq: ?p a owl:DataProperty . bind03.rq: ?p a owl:DataProperty . bind03.rq: ?p1 a owl:DataProperty . bind04.rq: ?p a owl:DataProperty . bind05.rq: ?p a owl:DataProperty . bind06.rq: ?p a owl:DataProperty . bind07.rq: ?p a owl:DataProperty . bind08.rq: ?p a owl:DataProperty . entailment: typos with prefix: rdfs01 ex:b1 rdfs:rdfs:subPropertyOf ex:b2 . rdfs02 ex:b1 rdfs:rdfs:subPropertyOf ex:b2 . rdfs08 rdf prefix is missing rdfs09 rdf prefix is missing rdfs12 . missing @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> rdf02 . missing @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> rdf03 . missing @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> _______________________________________________________________ SPARQL1.1: Test case structure http://www.w3.org/2009/sparql/docs/tests/README.html The corresponding URIs are not correct: - manifest of syntax-only tests (positive and negative tests) for the SPARQL1.1 Query Language - manifest of query evaluation tests for the SPARQL1.1 Query Language - manifest of entailment evaluation tests for the SPARQL1.1 Entailment Regimes - manifest of syntax-only tests (positive and negative tests) for the SPARQL1.1 Update Language - manifest of update evaluation tests for the SPARQL1.1 Update Language - .srj ... Files containing a query result in the SPARQL 1.1 Query Results JSON Format. - The DAWG result-set RDF vocabulary. SELECT or ASK queries. Typos : Typicaly indicarte differnt prediate proivding xsd;string
Received on Monday, 28 March 2011 15:02:36 UTC