Test cases & entailment

Hi all,
I am just working my way through the test cases with our SPARQL 1.1
implementation (ARQ+HermiT to do OWL Direct Semantics entailment). One
issue it that it would be very useful if we could mark test cases in
general with the entailment regimes that can be used. In many cases,
the query executed with and without entailment yields the same result,
e.g., when testing aggregates or bind the BGP matching itself is
usually trivial, and it would be very useful if we can then mark the
test somehow as such. I.e., I would like to annotate tests as being ok
also with an entailment regime if the use of entailment regime makes
no difference to the results.
The only problematic regime is OWL Direct Semantics, since the graphs
have to be OWL DL conform, which requires an extra triple for the
ontology header and declarations that identify a property as object or
data property. This usually does not influence the results and we
could make tests suitable also for OWL DL whenever that does not
influence the results. Any support or objections for that? I would
volunteer to extend the data and annotate the tests accordingly. As a
result, we would have several of the normal tests annotated as also
suitable for some ent. regime and the tests in the entailment folder
as those that really require entailment to get the right results.

I am also wondering why the tests in the entailment folder use a
slightly different marking than what is described in the
http://www.w3.org/2009/sparql/docs/tests/README.html
The above uses:
:rdf01 rdf:type mf:QueryEvaluationTest ;
    mf:name    "RDF inference test" ;
    dawgt:approval dawgt:NotClassified ;
    mf:action
         [ qt:query  <rdf01.rq> ;
           qt:data   <rdf01.ttl> ;
           sd:entailmentRegime ent:RDF ] ;
    mf:result  <rdf01.srx>
    .

The manifest in the entailment folder uses:
:rdf01 rdf:type mf:QueryEvaluationTest ;
    mf:name    "RDF inference test" ;
    dawgt:approval dawgt:NotClassified ;
    sd:entailmentRegime ent:RDF ;
    mf:action
         [ qt:query  <rdf01.rq> ;
           qt:data   <rdf01.ttl> ] ;
    mf:result  <rdf01.srx>
    .

Which one did we decide on?

In order to annotate existing non-entailment tests as also applicable
under an entailment regime, how about annotating them with a list of
applicable regimes? For example,

:rdf01 rdf:type mf:QueryEvaluationTest ;
    mf:name    "RDF inference test" ;
    dawgt:approval dawgt:NotClassified ;
    sd:entailmentRegime (
     ent:RDF
     ent:RDFS
    ) ;
    mf:action
         [ qt:query  <rdf01.rq> ;
           qt:data   <rdf01.ttl> ] ;
    mf:result  <rdf01.srx>
    .

This would then indicate that the test can be executed with RDF and
RDFS entailment?
It might then even be clearer to not abuse the sd:entailmentRegime
property and instead use something like mf:applicableWith.

Birte



-- 
Dr. Birte Glimm, Room 309
Computing Laboratory
Parks Road
Oxford
OX1 3QD
United Kingdom
+44 (0)1865 283520

Received on Tuesday, 8 February 2011 20:15:39 UTC