Some (OWL) Test Cases

Latest editors snapshot:
http://www.w3.org/2002/03owlt/editors-draft/snapshot

1. Approved Tests

1.1. By Function

1.2. By Issue

1.3. Additional Description Logic Tests

These tests are ones that are either known from the literature (specifically from [DL ref-1] and [DL ref-2]), or from test suites contributed by DL implementors (specifically some group and some other group).

Some actual tests in this category ...

1.4. Miscellaneous Tests

These tests, taken from the [OWL Guide], are ones that do not fit any other category.

wine.owl, and food.owl by reference rather than verbatim ...

1.5. Extra Credit

There is no expectation that any implementation will successfully run the tests in this section; any that do gain extra credit.

The intent is to illustrate the semantics of OWL, particularly OWL Full, as specified by [OWL Abstract Syntax and Semantics], with the specific goal of showing that it is possible to say things that it is not reasonable to expect an implementation to completely understand.

Some actual tests in this category ... Tests concerning prime factorization. tests concerning dominos and transitiveproperties with cardinality constraints. Tests concerning peculiar extensions of the OWL vocabulary.

2. Proposed Tests

2.1. By Function

2.1.1. owl:oneOf

DLPositive Entailment Test:004
Description: <oneOf/Manifest004#test> Jeremy J. Carroll
This test illustrates the use of dataRange in OWL DL. This test combines some of the ugliest features of XML, RDF and OWL.
DLPremises: <oneOf/premises004>
<!DOCTYPE rdf:RDF [
   <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">
   <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#">
]>
<rdf:RDF
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
 xmlns:owl="http://www.w3.org/2002/07/owl#"
 xmlns:first="http://www.w3.org/2002/03owlt/oneOf/premises004#"
 xml:base="http://www.w3.org/2002/03owlt/oneOf/premises004" >
 <owl:DatatypeProperty rdf:ID="p">
  <rdfs:range>
   <rdf:Description>
    <owl:oneOf>
     <rdf:List>
      <rdf:first rdf:datatype="&xsd;integer">1</rdf:first>
      <rdf:rest>
       <rdf:List>
        <rdf:first rdf:datatype="&xsd;integer">2</rdf:first>
        <rdf:rest>
         <rdf:List>
          <rdf:first rdf:datatype="&xsd;integer">3</rdf:first>
          <rdf:rest>
           <rdf:List>
            <rdf:first rdf:datatype="&xsd;integer">4</rdf:first>
            <rdf:rest rdf:resource="&rdf;nil"/>
           </rdf:List>
          </rdf:rest>
         </rdf:List>
        </rdf:rest>
       </rdf:List>
      </rdf:rest>
     </rdf:List>
    </owl:oneOf>
   </rdf:Description>
  </rdfs:range>
  <rdfs:range>
   <rdf:Description>
    <owl:oneOf>
     <rdf:List>
      <rdf:first rdf:datatype="&xsd;integer">4</rdf:first>
      <rdf:rest>
       <rdf:List>
        <rdf:first rdf:datatype="&xsd;integer">5</rdf:first>
        <rdf:rest>
         <rdf:List>
          <rdf:first rdf:datatype="&xsd;integer">6</rdf:first>
          <rdf:rest rdf:resource="&rdf;nil"/>
         </rdf:List>
        </rdf:rest>
       </rdf:List>
      </rdf:rest>
     </rdf:List>
    </owl:oneOf>
   </rdf:Description>
  </rdfs:range>
 </owl:DatatypeProperty>
 <owl:Thing rdf:ID="i">
  <rdf:type>
   <owl:Restriction>
    <owl:onProperty rdf:resource="#p"/>
    <owl:minCardinality rdf:datatype="&xsd;int">1</owl:minCardinality>
   </owl:Restriction>
  </rdf:type>
 </owl:Thing>
</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
_:a rdf:type rdf:List .
_:a rdf:first "1"^^xsd:integer  .
_:b rdf:type rdf:List .
_:b rdf:first "2"^^xsd:integer  .
_:c rdf:type rdf:List .
_:c rdf:first "3"^^xsd:integer  .
_:d rdf:type rdf:List .
_:d rdf:first "4"^^xsd:integer  .
_:d rdf:rest rdf:nil .
_:c rdf:rest _:d .
_:b rdf:rest _:c .
_:a rdf:rest _:b .
_:e owl:oneOf _:a .
first:p rdfs:range _:e .
_:f rdf:type rdf:List .
_:f rdf:first "4"^^xsd:integer  .
_:g rdf:type rdf:List .
_:g rdf:first "5"^^xsd:integer  .
_:h rdf:type rdf:List .
_:h rdf:first "6"^^xsd:integer  .
_:h rdf:rest rdf:nil .
_:g rdf:rest _:h .
_:f rdf:rest _:g .
_:i owl:oneOf _:f .
first:p rdfs:range _:i .
first:i rdf:type owl:Thing .
_:j rdf:type owl:Restriction .
_:j owl:onProperty first:p .
_:j owl:minCardinality "1"^^xsd:int  .
first:i rdf:type _:j .
DLConclusions: <oneOf/conclusions004>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:first="http://www.w3.org/2002/03owlt/oneOf/premises004#"
    xml:base="http://www.w3.org/2002/03owlt/oneOf/conclusions004" >
   <owl:DatatypeProperty rdf:about="premises004#p"/>
   <owl:Thing rdf:about="premises004#i">
     <first:p rdf:datatype=
"http://www.w3.org/2001/XMLSchema#short">4</first:p>
   </owl:Thing>
</rdf:RDF>
first:p rdf:type owl:DatatypeProperty .
first:i rdf:type owl:Thing .
first:i first:p "4"^^xsd:short  .

2.2. By Issue

2.3. Additional Description Logic Tests

These tests are ones that are either known from the literature (specifically from [DL ref-1] and [DL ref-2]), or from test suites contributed by DL implementors (specifically some group and some other group).

Some actual tests in this category ...

2.4. Miscellaneous Tests

These tests, taken from the [OWL Guide], are ones that do not fit any other category.

wine.owl, and food.owl by reference rather than verbatim ...

2.5. Extra Credit

There is no expectation that any implementation will successfully run the tests in this section; any that do gain extra credit.

The intent is to illustrate the semantics of OWL, particularly OWL Full, as specified by [OWL Abstract Syntax and Semantics], with the specific goal of showing that it is possible to say things that it is not reasonable to expect an implementation to completely understand.

Some actual tests in this category ... Tests concerning prime factorization. tests concerning dominos and transitiveproperties with cardinality constraints. Tests concerning peculiar extensions of the OWL vocabulary.