next top contents index

OWL Web Ontology Language
Test Cases
7.1. By Function


Contents


7.1. By Function

7.1.1. owl:AllDifferent

Full Positive Entailment Test:001
Description: (informative) <AllDifferent/Manifest001#test>
using AllDifferent to derive differentFrom
N3 format is informative.
FullPremises: <AllDifferent/premises001>
<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/AllDifferent/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/AllDifferent/premises001" >

    <owl:AllDifferent> 
      <owl:distinctMembers rdf:parseType="Collection">
        <first:Person rdf:about="#Fred" />
        <first:Person rdf:about="#Wilma" />
        <first:Person rdf:about="#Barney" />
        <first:Person rdf:about="#Betty" />
      </owl:distinctMembers>
    </owl:AllDifferent> 

</rdf:RDF>
_:a rdf:type owl:AllDifferent .
first:Fred rdf:type first:Person .
first:Wilma rdf:type first:Person .
first:Barney rdf:type first:Person .
first:Betty rdf:type first:Person .
_:c rdf:first first:Betty .
_:c rdf:rest rdf:nil .
_:e rdf:first first:Barney .
_:e rdf:rest _:c .
_:g rdf:first first:Wilma .
_:g rdf:rest _:e .
_:i rdf:first first:Fred .
_:i rdf:rest _:g .
_:a owl:distinctMembers _:i .
FullConclusions: <AllDifferent/conclusions001>
<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/AllDifferent/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/AllDifferent/conclusions001" >

    <rdf:Description rdf:about="premises001#Barney">
        <owl:differentFrom rdf:resource="premises001#Fred"/>
    </rdf:Description>

</rdf:RDF>
first:Barney owl:differentFrom first:Fred .

7.1.2. owl:AnnotationProperty

Lite Negative Entailment Test:001
Description: (informative) <AnnotationProperty/Manifest001#test>
The semantics of annotations in the direct semantics strictly distinguishes class valued annotations from individual valued annotations.
N3 format is informative.
LitePremises: <AnnotationProperty/premises001>
<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/AnnotationProperty/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/AnnotationProperty/premises001" >

  <owl:Class rdf:ID="A">
    <first:ap>
       <owl:Class rdf:ID="B"/>
    </first:ap>
  </owl:Class>
  <owl:AnnotationProperty rdf:ID="ap"/>

</rdf:RDF>
first:A rdf:type owl:Class .
first:B rdf:type owl:Class .
first:A first:ap first:B .
first:ap rdf:type owl:AnnotationProperty .
LiteConclusions: <AnnotationProperty/nonconclusions001>
<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/AnnotationProperty/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/AnnotationProperty/nonconclusions001" >

  <owl:Class rdf:about="premises001#A">
    <first:ap>
       <owl:Thing />
    </first:ap>
  </owl:Class>
  <owl:AnnotationProperty rdf:about="premises001#ap"/>

</rdf:RDF>
first:A rdf:type owl:Class .
_:a rdf:type owl:Thing .
first:A first:ap _:a .
first:ap rdf:type owl:AnnotationProperty .

Full Positive Entailment Test:002
Description: (informative) <AnnotationProperty/Manifest002#test>
Under the rdfs compatible semantics, the previous non-entailment is, in fact, an entailment.
N3 format is informative.
LitePremises: <AnnotationProperty/premises002>
<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/AnnotationProperty/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/AnnotationProperty/premises002" >

  <owl:Class rdf:ID="A">
    <first:ap>
       <owl:Class rdf:ID="B"/>
    </first:ap>
  </owl:Class>
  <owl:AnnotationProperty rdf:ID="ap"/>

</rdf:RDF>
first:A rdf:type owl:Class .
first:B rdf:type owl:Class .
first:A first:ap first:B .
first:ap rdf:type owl:AnnotationProperty .
LiteConclusions: <AnnotationProperty/conclusions002>
<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/AnnotationProperty/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/AnnotationProperty/conclusions002" >

  <owl:Class rdf:about="premises002#A">
    <first:ap>
       <owl:Thing />
    </first:ap>
  </owl:Class>
  <owl:AnnotationProperty rdf:about="premises002#ap"/>

</rdf:RDF>
first:A rdf:type owl:Class .
_:a rdf:type owl:Thing .
first:A first:ap _:a .
first:ap rdf:type owl:AnnotationProperty .

Full (EC) Consistent document.003
Description: (informative) <AnnotationProperty/Manifest003#test>
URI references used in annotations don't need to be typed.
N3 format is informative.
LiteConsistent: <AnnotationProperty/consistent003>
<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/AnnotationProperty/consistent003#"
    xml:base="http://www.w3.org/2002/03owlt/AnnotationProperty/consistent003" >

  <owl:AnnotationProperty rdf:ID="ap"/>

  <owl:Class rdf:ID="A">
    <first:ap>
       <rdf:Description rdf:ID="B"/>
    </first:ap>
  </owl:Class>

</rdf:RDF>
first:ap rdf:type owl:AnnotationProperty .
first:A rdf:type owl:Class .
first:A first:ap first:B .

Full (EC) Consistent document.004
Description: (informative) <AnnotationProperty/Manifest004#test>
AnnotationProperty's in OWL Lite and OWL DL, may not have range constraints.
N3 format is informative.
FullConsistent: <AnnotationProperty/consistent004>
<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#"
    xml:base=
"http://www.w3.org/2002/03owlt/AnnotationProperty/consistent004" >

   <owl:AnnotationProperty rdf:ID="ap">
     <rdfs:range rdf:resource=
  "http://www.w3.org/2001/XMLSchema#string"/>
   </owl:AnnotationProperty>
</rdf:RDF>
first:ap rdf:type owl:AnnotationProperty .
first:ap rdfs:range xsd:string .

7.1.3. owl:Class

Full OWL described in OWL.001
Description: (informative) <Class/Manifest001#test>
In OWL Full every rdfs:Class is an owl:Class, in particular rdfs:Class is an owl:Class.
N3 format is informative.
FullTrue: <Class/conclusions001>
<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#"
    xml:base="http://www.w3.org/2002/03owlt/Class/conclusions001" >
   <owl:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Class">
     <owl:equivalentClass>
       <rdfs:Class rdf:about="http://www.w3.org/2002/07/owl#Class"/>
     </owl:equivalentClass>
   </owl:Class>
</rdf:RDF>
rdfs:Class rdf:type owl:Class .
owl:Class rdf:type rdfs:Class .
rdfs:Class owl:equivalentClass owl:Class .

Full Positive Entailment Test:002
Description: (informative) <Class/Manifest002#test>
In OWL Full, the triple in the premises is synonymous with the triple in the conclusions.
N3 format is informative.
FullPremises: <Class/premises002>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xml:base="http://www.w3.org/2002/03owlt/Class/premises002" >
   <rdfs:Class rdf:ID="ex"/>

</rdf:RDF>
first:ex rdf:type rdfs:Class .
LiteConclusions: <Class/conclusions002>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/Class/conclusions002" >
   <owl:Class rdf:about="premises002#ex"/>

</rdf:RDF>
first:ex rdf:type owl:Class .

Full Positive Entailment Test:003
Description: (informative) <Class/Manifest003#test>
In OWL Full, the triple in the premises is synonymous with the triple in the conclusions.
N3 format is informative.
LitePremises: <Class/premises003>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/Class/premises003" >
   <owl:Class rdf:ID="ex"/>

</rdf:RDF>
first:ex rdf:type owl:Class .
FullConclusions: <Class/conclusions003>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xml:base="http://www.w3.org/2002/03owlt/Class/conclusions003" >
   <rdfs:Class rdf:about="premises003#ex"/>

</rdf:RDF>
first:ex rdf:type rdfs:Class .

Full (EC) Negative Entailment Test:004
Description: (informative) <Class/Manifest004#test>
Annotations about owl:Class are not related to those about rdfs:Class.
N3 format is informative.
Namespaces:
@prefix dc: <http://purl.org/dc/elements/1.0/> .
FullPremises: <Class/premises004>
<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/Class/premises004#"
    xmlns:dc='http://purl.org/dc/elements/1.0/'
    xml:base="http://www.w3.org/2002/03owlt/Class/premises004" >
   <owl:Class rdf:ID="WorkingGroup"/>
   <owl:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Class">
     <dc:creator>
        <first:WorkingGroup 
          rdf:about="http://www.w3.org/RDF/Group/Schema/members" />
     </dc:creator>
   </owl:Class>
</rdf:RDF>
first:WorkingGroup rdf:type owl:Class .
rdfs:Class rdf:type owl:Class .
<http://www.w3.org/RDF/Group/Schema/members> rdf:type first:WorkingGroup .
rdfs:Class dc:creator <http://www.w3.org/RDF/Group/Schema/members> .
FullConclusions: <Class/nonconclusions004>
<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/Class/premises004#"
    xmlns:dc='http://purl.org/dc/elements/1.0/'
    xml:base="http://www.w3.org/2002/03owlt/Class/nonconclusions004" >
   <owl:Class rdf:about="premises004#WorkingGroup"/>
   <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Class">
     <dc:creator>
        <first:WorkingGroup  />
     </dc:creator>
   </owl:Class>
</rdf:RDF>
first:WorkingGroup rdf:type owl:Class .
owl:Class rdf:type owl:Class .
_:a rdf:type first:WorkingGroup .
owl:Class dc:creator _:a .

DL Full Negative Entailment Test:005
Description: (informative) <Class/Manifest005#test>
This test shows a potential misapplication of OWL Full comprehension rules. It also shows optional type triples on an owl:Class.
N3 format is informative.
LitePremises: <Class/premises005>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/Class/premises005" >
  <owl:Thing rdf:ID="x"/>
</rdf:RDF>
first:x rdf:type owl:Thing .
DLConclusions: <Class/nonconclusions005>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/Class/nonconclusions005" >

  <owl:Class rdf:ID="c"/>
  <rdf:Description rdf:about="premises005#x">
    <rdf:type>
      <rdf:Description>
        <rdf:type 
    rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
        <rdf:type 
    rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
        <owl:unionOf rdf:parseType="Collection">
          <rdf:Description rdf:about="#c" />
          <owl:Class>
            <owl:complementOf rdf:resource="#c"/>
          </owl:Class>
        </owl:unionOf>
      </rdf:Description>
    </rdf:type>
  </rdf:Description>
               
</rdf:RDF>
second:c rdf:type owl:Class .
_:a rdf:type owl:Class .
_:a rdf:type rdfs:Class .
_:c rdf:type owl:Class .
_:c owl:complementOf second:c .
_:e rdf:first _:c .
_:e rdf:rest rdf:nil .
_:g rdf:first second:c .
_:g rdf:rest _:e .
_:a owl:unionOf _:g .
first:x rdf:type _:a .

Full Positive Entailment Test:006
Description: (informative) <Class/Manifest006#test>
This test shows a correct application of OWL Full comprehension rules. It also shows that use of rdfs:Class instead of owl:Class may make a file fall outside OWL DL.
N3 format is informative.
LitePremises: <Class/premises006>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/Class/premises006" >
  <owl:Thing rdf:ID="x"/>
  <owl:Class rdf:ID="c"/>
</rdf:RDF>
first:x rdf:type owl:Thing .
first:c rdf:type owl:Class .
FullConclusions: <Class/conclusions006>
<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#"
    xml:base="http://www.w3.org/2002/03owlt/Class/conclusions006" >

  <rdf:Description rdf:about="premises006#x">
    <rdf:type>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="premises006#c" />
          <rdfs:Class>
            <owl:complementOf rdf:resource="premises006#c"/>
          </rdfs:Class>
        </owl:unionOf>
      </owl:Class>
    </rdf:type>
  </rdf:Description>
               
</rdf:RDF>
_:a rdf:type owl:Class .
first:c rdf:type owl:Class .
_:c rdf:type rdfs:Class .
_:c owl:complementOf first:c .
_:e rdf:first _:c .
_:e rdf:rest rdf:nil .
_:g rdf:first first:c .
_:g rdf:rest _:e .
_:a owl:unionOf _:g .
first:x rdf:type _:a .

7.1.4. owl:DatatypeProperty

Full (EC) Consistent document.001
Description: (informative) <DatatypeProperty/Manifest001#test>
DatatypeProperty's may be used to related typed literals to typed literals, in OWL Full.
N3 format is informative.
FullConsistent: <DatatypeProperty/consistent001>
<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/DatatypeProperty/consistent001#"
    xml:base="http://www.w3.org/2002/03owlt/DatatypeProperty/consistent001" >
  <owl:DatatypeProperty rdf:ID="convertedAbsoluteValue">
    <rdfs:domain rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
    <rdfs:range rdf:resource=
        "http://www.w3.org/2001/XMLSchema#nonNegativeInteger" />
  </owl:DatatypeProperty>
  <rdf:Description>
     <owl:sameAs rdf:datatype=
      "http://www.w3.org/2001/XMLSchema#integer"
     >-3</owl:sameAs>
     <first:convertedAbsoluteValue rdf:datatype=
     "http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
     >3</first:convertedAbsoluteValue>
  </rdf:Description>
</rdf:RDF>
first:convertedAbsoluteValue rdf:type owl:DatatypeProperty .
first:convertedAbsoluteValue rdfs:domain xsd:integer .
first:convertedAbsoluteValue rdfs:range xsd:nonNegativeInteger .
_:a owl:sameAs "-3"^^xsd:integer  .
_:a first:convertedAbsoluteValue "3"^^xsd:nonNegativeInteger  .

7.1.5. owl:FunctionalProperty

Full Positive Entailment Test:001
Description: (informative) <FunctionalProperty/Manifest001#test>
If prop belongs to owl:FunctionalProperty, and subject denotes a resource which is the subject of two prop triples, then the objects of these triples have the same denotation.
N3 format is informative.
FullPremises: <FunctionalProperty/premises001>
<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/FunctionalProperty/premises001#" 
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/premises001" >
    <owl:FunctionalProperty rdf:ID="prop"/>
    <rdf:Description rdf:ID="subject">
      <first:prop rdf:resource="#object1" />
      <first:prop rdf:resource="#object2" />
    </rdf:Description>
</rdf:RDF>
first:prop rdf:type owl:FunctionalProperty .
first:subject first:prop first:object1 .
first:subject first:prop first:object2 .
FullConclusions: <FunctionalProperty/conclusions001>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/conclusions001" >
    <rdf:Description rdf:about="premises001#object1">
      <owl:sameAs rdf:resource="premises001#object2" />
    </rdf:Description>
</rdf:RDF>
first:object1 owl:sameAs first:object2 .

Full Positive Entailment Test:002
Description: (informative) <FunctionalProperty/Manifest002#test>
If prop belongs to owl:FunctionalProperty, and subject denotes a resource which is the subject of two prop triples, then the objects of these triples have the same denotation.Hence any assertion made using one of them can be transferred to the other.
N3 format is informative.
Namespaces:
@prefix eg: <http://www.example.org/> .
FullPremises: <FunctionalProperty/premises002>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xmlns:eg ="http://www.example.org/"
  xmlns:first="http://www.w3.org/2002/03owlt/FunctionalProperty/premises002#" 
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/premises002" >
    <owl:FunctionalProperty rdf:ID="prop"/>
    <rdf:Description rdf:ID="subject">
      <first:prop>
          <rdf:Description rdf:ID="object1">
            <eg:prop2>value</eg:prop2>
          </rdf:Description>
      </first:prop>
      <first:prop rdf:resource="#object2" />
    </rdf:Description>
</rdf:RDF>
first:prop rdf:type owl:FunctionalProperty .
first:object1 eg:prop2 "value" .
first:subject first:prop first:object1 .
first:subject first:prop first:object2 .
FullConclusions: <FunctionalProperty/conclusions002>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:eg ="http://www.example.org/"
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/conclusions002" >
    <rdf:Description rdf:about="premises002#object2" >
        <eg:prop2>value</eg:prop2>
    </rdf:Description>
</rdf:RDF>
first:object2 eg:prop2 "value" .

Full Positive Entailment Test:003
Description: (informative) <FunctionalProperty/Manifest003#test>
If prop is an owl:FunctionalProperty, then its inverse is an owl:InverseFunctionalProperty.
N3 format is informative.
FullPremises: <FunctionalProperty/premises003>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/premises003" >
    <owl:FunctionalProperty rdf:ID="prop">
      <owl:inverseOf rdf:resource="#inv"/>
    </owl:FunctionalProperty>
</rdf:RDF>
first:prop rdf:type owl:FunctionalProperty .
first:prop owl:inverseOf first:inv .
LiteConclusions: <FunctionalProperty/conclusions003>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/conclusions003" >
    <owl:InverseFunctionalProperty rdf:about="premises003#inv"/>
</rdf:RDF>
first:inv rdf:type owl:InverseFunctionalProperty .

Full Positive Entailment Test:004
Description: (informative) <FunctionalProperty/Manifest004#test>
If the range of prop is a singleton set then it is necessarily functional, (i.e. every member of its domain has a single value) and so it is an owl:FunctionalProperty.
N3 format is informative.
FullPremises: <FunctionalProperty/premises004>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"  
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/premises004" >
    <owl:ObjectProperty rdf:ID="prop">
      <rdfs:range rdf:resource="#Singleton"/>
    </owl:ObjectProperty>
    <rdfs:Class rdf:ID="Singleton">
      <owl:oneOf rdf:parseType="Collection">
          <rdf:Description/>
      </owl:oneOf>
    </rdfs:Class>
</rdf:RDF>
first:prop rdf:type owl:ObjectProperty .
first:prop rdfs:range first:Singleton .
first:Singleton rdf:type rdfs:Class .
_:a rdf:first _:b .
_:a rdf:rest rdf:nil .
first:Singleton owl:oneOf _:a .
FullConclusions: <FunctionalProperty/conclusions004>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/conclusions004" >
    <owl:FunctionalProperty rdf:about="premises004#prop"/>
</rdf:RDF>
first:prop rdf:type owl:FunctionalProperty .

Full Positive Entailment Test:005
Description: (informative) <FunctionalProperty/Manifest005#test>
If prop belongs to owl:FunctionalProperty then an OWL individual has at most one value for prop.
N3 format is informative.
Namespaces:
@prefix eg: <http://www.example.org/> .
FullPremises: <FunctionalProperty/premises005>
<rdf:RDF
    xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/premises005"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xmlns:eg ="http://www.example.org/">
    <owl:FunctionalProperty rdf:about="http://www.example.org/foo#prop" />
    <owl:Thing rdf:about="http://www.example.org/foo#object" />
</rdf:RDF>
eg:foo#prop rdf:type owl:FunctionalProperty .
eg:foo#object rdf:type owl:Thing .
FullConclusions: <FunctionalProperty/conclusions005>
<rdf:RDF
    xml:base="http://www.w3.org/2002/03owlt/FunctionalProperty/conclusions005"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xmlns:eg ="http://www.example.org/">
    <owl:Thing rdf:about="http://www.example.org/foo#object">
      <rdf:type>
        <owl:Restriction>
   <owl:onProperty>
     <owl:FunctionalProperty rdf:about="http://www.example.org/foo#prop" />
   </owl:onProperty>
   <owl:maxCardinality 
      rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger"
      >1</owl:maxCardinality>
        </owl:Restriction>
      </rdf:type>
    </owl:Thing>
</rdf:RDF>
eg:foo#object rdf:type owl:Thing .
_:a rdf:type owl:Restriction .
eg:foo#prop rdf:type owl:FunctionalProperty .
_:a owl:onProperty eg:foo#prop .
_:a owl:maxCardinality "1"^^xsd:nonNegativeInteger  .
eg:foo#object rdf:type _:a .

7.1.6. owl:InverseFunctionalProperty

Full Positive Entailment Test:001
Description: (informative) <InverseFunctionalProperty/Manifest001#test>
If prop belongs to owl:InverseFunctionalProperty, and object denotes a resource which is the object of two prop triples, then the subjects of these triples have the same denotation.
N3 format is informative.
FullPremises: <InverseFunctionalProperty/premises001>
<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/InverseFunctionalProperty/premises001#" 
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/premises001" >
    <owl:InverseFunctionalProperty rdf:ID="prop"/>
    <rdf:Description rdf:ID="subject1">
      <first:prop rdf:resource="#object" />
    </rdf:Description>
    <rdf:Description rdf:ID="subject2">
      <first:prop rdf:resource="#object" />
    </rdf:Description>
</rdf:RDF>
first:prop rdf:type owl:InverseFunctionalProperty .
first:subject1 first:prop first:object .
first:subject2 first:prop first:object .
FullConclusions: <InverseFunctionalProperty/conclusions001>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/conclusions001" >
    <rdf:Description rdf:about="premises001#subject1">
      <owl:sameAs rdf:resource="premises001#subject2" />
    </rdf:Description>
</rdf:RDF>
first:subject1 owl:sameAs first:subject2 .

Full Positive Entailment Test:002
Description: (informative) <InverseFunctionalProperty/Manifest002#test>
If prop belongs to owl:InverseFunctionalProperty, and object denotes a resource which is the object of two prop triples, then the subjects of these triples have the same denotation. Hence any assertion made using one of them can be transferred to the other.
N3 format is informative.
Namespaces:
@prefix eg: <http://www.example.org/> .
FullPremises: <InverseFunctionalProperty/premises002>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xmlns:eg ="http://www.example.org/"
  xmlns:first="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/premises002#" 
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/premises002" >
    <owl:InverseFunctionalProperty rdf:ID="prop"/>
    <rdf:Description rdf:ID="subject1" >
      <first:prop rdf:resource="#object" />
      <eg:prop2>value</eg:prop2>
    </rdf:Description>
    <rdf:Description rdf:ID="subject2" >
      <first:prop rdf:resource="#object" />
    </rdf:Description>
</rdf:RDF>
first:prop rdf:type owl:InverseFunctionalProperty .
first:subject1 first:prop first:object .
first:subject1 eg:prop2 "value" .
first:subject2 first:prop first:object .
FullConclusions: <InverseFunctionalProperty/conclusions002>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:eg ="http://www.example.org/"
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/conclusions002" >
    <rdf:Description rdf:about="premises002#subject2" >
      <eg:prop2>value</eg:prop2>
    </rdf:Description>
</rdf:RDF>
first:subject2 eg:prop2 "value" .

Full Positive Entailment Test:003
Description: (informative) <InverseFunctionalProperty/Manifest003#test>
If prop is an owl:InverseFunctionalProperty, then its inverse is an owl:FunctionalProperty.
N3 format is informative.
FullPremises: <InverseFunctionalProperty/premises003>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/premises003" >
    <owl:InverseFunctionalProperty rdf:ID="prop">
      <owl:inverseOf rdf:resource="#inv"/>
    </owl:InverseFunctionalProperty>
</rdf:RDF>
first:prop rdf:type owl:InverseFunctionalProperty .
first:prop owl:inverseOf first:inv .
FullConclusions: <InverseFunctionalProperty/conclusions003>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/conclusions003" >
    <owl:FunctionalProperty rdf:about="premises003#inv"/>
</rdf:RDF>
first:inv rdf:type owl:FunctionalProperty .

Full Positive Entailment Test:004
Description: (informative) <InverseFunctionalProperty/Manifest004#test>
If the domain of prop is a singleton set then it is necessarily inverse functional, (i.e. every member of its range is the value of a single item) so it is an owl:InverseFunctionalProperty.
N3 format is informative.
FullPremises: <InverseFunctionalProperty/premises004>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"  
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/premises004" >
    <owl:ObjectProperty rdf:ID="prop">
      <rdfs:domain rdf:resource="#Singleton"/>
    </owl:ObjectProperty>
    <rdfs:Class rdf:ID="Singleton">
      <owl:oneOf rdf:parseType="Collection">
          <rdf:Description/>
      </owl:oneOf>
    </rdfs:Class>
</rdf:RDF>
first:prop rdf:type owl:ObjectProperty .
first:prop rdfs:domain first:Singleton .
first:Singleton rdf:type rdfs:Class .
_:a rdf:first _:b .
_:a rdf:rest rdf:nil .
first:Singleton owl:oneOf _:a .
LiteConclusions: <InverseFunctionalProperty/conclusions004>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:owl ="http://www.w3.org/2002/07/owl#"
  xml:base="http://www.w3.org/2002/03owlt/InverseFunctionalProperty/conclusions004" >
    <owl:InverseFunctionalProperty rdf:about="premises004#prop"/>
</rdf:RDF>
first:prop rdf:type owl:InverseFunctionalProperty .

7.1.7. owl:Nothing

Lite Full Inconsistent document.001
Description: (informative) <Nothing/Manifest001#test>
The triple asserts something of type owl:Nothing, however that is the empty class.
N3 format is informative.
LiteInconsistent: <Nothing/inconsistent001>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/Nothing/inconsistent001" >

  <owl:Nothing/>

</rdf:RDF>
_:a rdf:type owl:Nothing .

DL Full OWL described in OWL.002
Description: (informative) <Nothing/Manifest002#test>
An empty owl:Class has the same class extension as owl:Nothing.
N3 format is informative.
DLTrue: <Nothing/conclusions002>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xml:base='http://www.w3.org/2002/03owlt/Nothing/conclusions002'
    xmlns:owl="http://www.w3.org/2002/07/owl#">

   <owl:Class>
      <owl:oneOf rdf:parseType="Collection"/>
      <owl:equivalentClass  rdf:resource="http://www.w3.org/2002/07/owl#Nothing" />
   </owl:Class>

</rdf:RDF>
_:a rdf:type owl:Class .
_:a owl:oneOf rdf:nil .
_:a owl:equivalentClass owl:Nothing .

7.1.8. owl:Ontology

Lite Full Positive Entailment Test:001
Description: (informative) <Ontology/Manifest001#test>
This is a variation of equivalentClass-001, showing the use of owl:Ontology triples in the premises and conclusions.
N3 format is informative.
LitePremises: <Ontology/premises001>
<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/Ontology/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/Ontology/premises001" >
   <owl:Ontology rdf:about="" />
   <owl:Class rdf:ID="Car">
     <owl:equivalentClass>
       <owl:Class rdf:ID="Automobile"/>
     </owl:equivalentClass>
  </owl:Class>
  <first:Car rdf:ID="car">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Car>
  <first:Automobile rdf:ID="auto">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Automobile>
</rdf:RDF>
<Ontology/premises001> rdf:type owl:Ontology .
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .
first:Car owl:equivalentClass first:Automobile .
first:car rdf:type first:Car .
first:car rdf:type owl:Thing .
first:auto rdf:type first:Automobile .
first:auto rdf:type owl:Thing .
LiteConclusions: <Ontology/conclusions001>
<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/Ontology/premises001#"
    xml:base="http://www.w3.org/2002/03owlt/Ontology/conclusions001" >
  <owl:Ontology />
  <first:Car rdf:about="premises001#auto">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Car>
  <first:Automobile rdf:about="premises001#car">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Automobile>
   <owl:Class rdf:about="premises001#Car"/>
   <owl:Class rdf:about="premises001#Automobile"/>
</rdf:RDF>
_:a rdf:type owl:Ontology .
first:auto rdf:type first:Car .
first:auto rdf:type owl:Thing .
first:car rdf:type first:Automobile .
first:car rdf:type owl:Thing .
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .

Lite Full Negative Entailment Test:003
Description: (informative) <Ontology/Manifest003#test>
This is a variation of equivalentClass-001, showing the use of owl:Ontology triple only in the conclusions.
N3 format is informative.
LitePremises: <Ontology/premises003>
<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/Ontology/premises003#"
    xml:base="http://www.w3.org/2002/03owlt/Ontology/premises003" >
   <owl:Class rdf:ID="Car">
     <owl:equivalentClass>
       <owl:Class rdf:ID="Automobile"/>
     </owl:equivalentClass>
  </owl:Class>
  <first:Car rdf:ID="car">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Car>
  <first:Automobile rdf:ID="auto">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Automobile>
</rdf:RDF>
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .
first:Car owl:equivalentClass first:Automobile .
first:car rdf:type first:Car .
first:car rdf:type owl:Thing .
first:auto rdf:type first:Automobile .
first:auto rdf:type owl:Thing .
LiteConclusions: <Ontology/nonconclusions003>
<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/Ontology/premises003#"
    xml:base="http://www.w3.org/2002/03owlt/Ontology/nonconclusions003" >
  <owl:Ontology />
  <first:Car rdf:about="premises003#auto">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Car>
  <first:Automobile rdf:about="premises003#car">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Automobile>
   <owl:Class rdf:about="premises003#Car"/>
   <owl:Class rdf:about="premises003#Automobile"/>
</rdf:RDF>
_:a rdf:type owl:Ontology .
first:auto rdf:type first:Car .
first:auto rdf:type owl:Thing .
first:car rdf:type first:Automobile .
first:car rdf:type owl:Thing .
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .

Lite Full Positive Entailment Test:004
Description: (informative) <Ontology/Manifest004#test>
This is a variation of equivalentClass-001, showing the use of two owl:Ontology triples in the premises.
N3 format is informative.
LitePremises: <Ontology/premises004>
<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/Ontology/premises004#"
    xml:base="http://www.w3.org/2002/03owlt/Ontology/premises004" >
   <owl:Ontology rdf:about="" />
   <owl:Ontology rdf:about="http://www.example.org/" />

   <owl:Class rdf:ID="Car">
     <owl:equivalentClass>
       <owl:Class rdf:ID="Automobile"/>
     </owl:equivalentClass>
  </owl:Class>
  <first:Car rdf:ID="car">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Car>
  <first:Automobile rdf:ID="auto">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Automobile>
</rdf:RDF>
<Ontology/premises004> rdf:type owl:Ontology .
<http://www.example.org/> rdf:type owl:Ontology .
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .
first:Car owl:equivalentClass first:Automobile .
first:car rdf:type first:Car .
first:car rdf:type owl:Thing .
first:auto rdf:type first:Automobile .
first:auto rdf:type owl:Thing .
LiteConclusions: <Ontology/conclusions004>
<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/Ontology/premises004#"
    xml:base="http://www.w3.org/2002/03owlt/Ontology/conclusions004" >
  <first:Car rdf:about="premises004#auto">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Car>
  <first:Automobile rdf:about="premises004#car">
     <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
  </first:Automobile>
   <owl:Class rdf:about="premises004#Car"/>
   <owl:Class rdf:about="premises004#Automobile"/>
</rdf:RDF>
first:auto rdf:type first:Car .
first:auto rdf:type owl:Thing .
first:car rdf:type first:Automobile .
first:car rdf:type owl:Thing .
first:Car rdf:type owl:Class .
first:Automobile rdf:type owl:Class .

7.1.9. owl:Restriction

Lite Full Inconsistent document.001
Description: (informative) <Restriction/Manifest001#test>
This test shows the syntax for using the same restriction twice in OWL Lite.
N3 format is informative.
LiteInconsistent: <Restriction/inconsistent001>
<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/Restriction/inconsistent001#"
    xml:base="http://www.w3.org/2002/03owlt/Restriction/inconsistent001" >
   <owl:ObjectProperty rdf:ID="op"/>
   <rdf:Description rdf:ID="a">
     <rdf:type>
        <owl:Restriction>
           <owl:onProperty rdf:resource="#op"/>
           <owl:someValuesFrom rdf:resource=
     "http://www.w3.org/2002/07/owl#Nothing" />
        </owl:Restriction>
     </rdf:type>
   </rdf:Description>
   <rdf:Description rdf:ID="b">
     <rdf:type>
        <owl:Restriction>
           <owl:onProperty rdf:resource="#op"/>
           <owl:someValuesFrom rdf:resource=
     "http://www.w3.org/2002/07/owl#Nothing" />
        </owl:Restriction>
     </rdf:type>
   </rdf:Description>
               


</rdf:RDF>
first:op rdf:type owl:ObjectProperty .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:op .
_:a owl:someValuesFrom owl:Nothing .
first:a rdf:type _:a .
_:c rdf:type owl:Restriction .
_:c owl:onProperty first:op .
_:c owl:someValuesFrom owl:Nothing .
first:b rdf:type _:c .

Full Inconsistent document.002
Description: (informative) <Restriction/Manifest002#test>
This test shows syntax that is not permitted in OWL Lite or OWL DL for using the same restriction twice.
N3 format is informative.
FullInconsistent: <Restriction/inconsistent002>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/Restriction/inconsistent002" >
   <owl:ObjectProperty rdf:ID="op"/>
   <rdf:Description rdf:ID="a">
     <rdf:type>
        <owl:Restriction rdf:nodeID="r">
           <owl:onProperty rdf:resource="#op"/>
           <owl:someValuesFrom rdf:resource=
     "http://www.w3.org/2002/07/owl#Nothing" />
        </owl:Restriction>
     </rdf:type>
   </rdf:Description>
   <rdf:Description rdf:ID="b">
     <rdf:type rdf:nodeID="r"/>
   </rdf:Description>
               
</rdf:RDF>
first:op rdf:type owl:ObjectProperty .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:op .
_:a owl:someValuesFrom owl:Nothing .
first:a rdf:type _:a .
first:b rdf:type _:a .

Full (EC) Consistent document.003
Description: (informative) <Restriction/Manifest003#test>
This test shows syntax that is not permitted in OWL Lite or OWL DL for using the same restriction twice.
Datatypes that may or may not be supported: xsd:byte,
N3 format is informative.
FullConsistent: <Restriction/consistent003>
<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/Restriction/consistent003#"
    xml:base="http://www.w3.org/2002/03owlt/Restriction/consistent003" >
   <owl:DatatypeProperty rdf:ID="dp"/>
   <owl:Class rdf:ID="C">
     <owl:intersectionOf rdf:parseType="Collection">
        <owl:Class rdf:ID="superC"/>
        <owl:Restriction rdf:nodeID="r">
           <owl:onProperty rdf:resource="#dp"/>
           <owl:someValuesFrom rdf:resource=
     "http://www.w3.org/2001/XMLSchema#byte" />
        </owl:Restriction>
     </owl:intersectionOf>
   </owl:Class>
   <owl:Class rdf:ID="D">
     <owl:intersectionOf rdf:parseType="Collection">
        <owl:Class rdf:ID="superD"/>
        <rdf:Description rdf:nodeID="r"/>
     </owl:intersectionOf>
   </owl:Class>

</rdf:RDF>
first:dp rdf:type owl:DatatypeProperty .
first:C rdf:type owl:Class .
first:superC rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:dp .
_:a owl:someValuesFrom xsd:byte .
_:c rdf:first _:a .
_:c rdf:rest rdf:nil .
_:e rdf:first first:superC .
_:e rdf:rest _:c .
first:C owl:intersectionOf _:e .
first:D rdf:type owl:Class .
first:superD rdf:type owl:Class .
_:g rdf:first _:a .
_:g rdf:rest rdf:nil .
_:i rdf:first first:superD .
_:i rdf:rest _:g .
first:D owl:intersectionOf _:i .

Lite Full Consistent document.004
Description: (informative) <Restriction/Manifest004#test>
This test shows OWL Lite syntax for using two equivalent restrictions.
Datatypes that may or may not be supported: xsd:byte,
N3 format is informative.
LiteConsistent: <Restriction/consistent004>
<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#"
    xml:base="http://www.w3.org/2002/03owlt/Restriction/consistent004" >
   <owl:DatatypeProperty rdf:ID="dp"/>
   <owl:Class rdf:ID="C">
     <owl:intersectionOf rdf:parseType="Collection">
        <owl:Class rdf:ID="superC"/>
        <owl:Restriction>
           <owl:onProperty rdf:resource="#dp"/>
           <owl:someValuesFrom rdf:resource=
     "http://www.w3.org/2001/XMLSchema#byte" />
        </owl:Restriction>
     </owl:intersectionOf>
   </owl:Class>
   <owl:Class rdf:ID="D">
     <owl:intersectionOf rdf:parseType="Collection">
        <owl:Class rdf:ID="superD"/>
        <owl:Restriction>
           <owl:onProperty rdf:resource="#dp"/>
           <owl:someValuesFrom rdf:resource=
     "http://www.w3.org/2001/XMLSchema#byte" />
        </owl:Restriction>
     </owl:intersectionOf>
   </owl:Class>

</rdf:RDF>
first:dp rdf:type owl:DatatypeProperty .
first:C rdf:type owl:Class .
first:superC rdf:type owl:Class .
_:a rdf:type owl:Restriction .
_:a owl:onProperty first:dp .
_:a owl:someValuesFrom xsd:byte .
_:c rdf:first _:a .
_:c rdf:rest rdf:nil .
_:e rdf:first first:superC .
_:e rdf:rest _:c .
first:C owl:intersectionOf _:e .
first:D rdf:type owl:Class .
first:superD rdf:type owl:Class .
_:g rdf:type owl:Restriction .
_:g owl:onProperty first:dp .
_:g owl:someValuesFrom xsd:byte .
_:i rdf:first _:g .
_:i rdf:rest rdf:nil .
_:k rdf:first first:superD .
_:k rdf:rest _:i .
first:D owl:intersectionOf _:k .

Lite Full Negative Entailment Test:005
Description: (informative) <Restriction/Manifest005#test>
This test shows a potential misapplication of OWL Full comprehension rules. It also shows optional type triples on an owl:Restriction.
N3 format is informative.
LitePremises: <Restriction/premises005>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/Restriction/premises005" >
  <owl:Thing rdf:ID="x">
    <rdf:type>
      <owl:Restriction>
        <rdf:type 
    rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
        <owl:onProperty>
           <owl:ObjectProperty rdf:about="premises005#p" />
        </owl:onProperty>
        <owl:maxCardinality rdf:datatype=
  "http://www.w3.org/2001/XMLSchema#int"
        >0</owl:maxCardinality>
      </owl:Restriction>
    </rdf:type>
  </owl:Thing>
  <owl:ObjectProperty rdf:ID="p" />
</rdf:RDF>
first:x rdf:type owl:Thing .
_:a rdf:type owl:Restriction .
_:a rdf:type rdfs:Class .
first:p rdf:type owl:ObjectProperty .
_:a owl:onProperty first:p .
_:a owl:maxCardinality "0"^^xsd:int  .
first:x rdf:type _:a .
first:p rdf:type owl:ObjectProperty .
LiteConclusions: <Restriction/nonconclusions005>
<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/Restriction/premises005#"
    xmlns:second="http://www.w3.org/2002/03owlt/Restriction/nonconclusions005#"
    xml:base="http://www.w3.org/2002/03owlt/Restriction/nonconclusions005" >

  <rdf:Description rdf:about="premises005#x">
    <rdf:type>
      <owl:Restriction>
        <rdf:type 
    rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
        <rdf:type 
    rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
        <owl:onProperty>
           <owl:ObjectProperty rdf:about="premises005#p" />
        </owl:onProperty>
        <owl:allValuesFrom>
          <owl:Class rdf:ID="c">
            <rdf:type 
    rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
          </owl:Class>
        </owl:allValuesFrom>
      </owl:Restriction>
    </rdf:type>
  </rdf:Description>
               
</rdf:RDF>
_:a rdf:type owl:Restriction .
_:a rdf:type rdfs:Class .
_:a rdf:type owl:Class .
first:p rdf:type owl:ObjectProperty .
_:a owl:onProperty first:p .
second:c rdf:type owl:Class .
second:c rdf:type rdfs:Class .
_:a owl:allValuesFrom second:c .
first:x rdf:type _:a .

Full Positive Entailment Test:006
Description: (informative) <Restriction/Manifest006#test>
This test shows a correct application of OWL Full comprehension rules. It also shows that optional type triples on an owl:Restriction do not replace the obligatory ones.
N3 format is informative.
LitePremises: <Restriction/premises006>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/Restriction/premises006" >
  <owl:Thing rdf:ID="x"/>
  <owl:ObjectProperty rdf:ID="p" />
</rdf:RDF>
first:x rdf:type owl:Thing .
first:p rdf:type owl:ObjectProperty .
FullConclusions: <Restriction/conclusions006>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xml:base="http://www.w3.org/2002/03owlt/Restriction/conclusions006" >

  <rdf:Description rdf:about="premises006#x">
    <rdf:type>
      <rdf:Description>
        <rdf:type 
    rdf:resource="http://www.w3.org/2002/07/owl#Class"/>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="premises006#p" />
            </owl:onProperty>
            <owl:someValuesFrom rdf:resource="http://www.w3.org/2002/07/owl#Thing" />
          </owl:Restriction>
          <owl:Class>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="premises006#p" />
            </owl:onProperty>
            <owl:maxCardinality rdf:datatype=
  "http://www.w3.org/2001/XMLSchema#int"
            >0</owl:maxCardinality>
          </owl:Class>
        </owl:unionOf>
      </rdf:Description>
    </rdf:type>
  </rdf:Description>
               
</rdf:RDF>
_:a rdf:type owl:Class .
_:c rdf:type owl:Restriction .
first:p rdf:type owl:ObjectProperty .
_:c owl:onProperty first:p .
_:c owl:someValuesFrom owl:Thing .
_:e rdf:type owl:Class .
first:p rdf:type owl:ObjectProperty .
_:e owl:onProperty first:p .
_:e owl:maxCardinality "0"^^xsd:int  .
_:g rdf:first _:e .
_:g rdf:rest rdf:nil .
_:i rdf:first _:c .
_:i rdf:rest _:g .
_:a owl:unionOf _:i .
first:x rdf:type _:a .

7.1.10. owl:SymmetricProperty

Full Positive Entailment Test:001
Description: (informative) <SymmetricProperty/Manifest001#test>
A simple illustration of symmetric properties.
N3 format is informative.
FullPremises: <SymmetricProperty/premises001>
<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/SymmetricProperty/premises001#"
    xmlns:second="http://www.w3.org/2002/03owlt/SymmetricProperty/conclusions001#"
    xml:base="http://www.w3.org/2002/03owlt/SymmetricProperty/premises001" >

    <rdf:Description rdf:about="premises001#Ghent">
        <first:path rdf:resource="premises001#Antwerp"/>
    </rdf:Description>

    <owl:SymmetricProperty rdf:about="premises001#path"/>

</rdf:RDF>
first:Ghent first:path first:Antwerp .
first:path rdf:type owl:SymmetricProperty .
FullConclusions: <SymmetricProperty/conclusions001>
<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/SymmetricProperty/premises001#"
    xmlns:second="http://www.w3.org/2002/03owlt/SymmetricProperty/conclusions001#"
    xml:base="http://www.w3.org/2002/03owlt/SymmetricProperty/conclusions001" >

    <rdf:Description rdf:about="premises001#Antwerp">
        <first:path rdf:resource="premises001#Ghent"/>
    </rdf:Description>

</rdf:RDF>
first:Antwerp first:path first:Ghent .

DL Full Positive Entailment Test:002
Description: (informative) <SymmetricProperty/Manifest002#test>
Test illustrating extensional semantics of owl:SymmetricProperty.
N3 format is informative.
DLPremises: <SymmetricProperty/premises002>
<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/SymmetricProperty/premises002#"
    xml:base="http://www.w3.org/2002/03owlt/SymmetricProperty/premises002" >

    <owl:InverseFunctionalProperty rdf:about="#equalityOnA">
      <rdfs:range>
         <owl:Class rdf:ID="A">
           <owl:oneOf rdf:parseType="Collection">
              <owl:Thing rdf:ID="a"/>
              <owl:Thing rdf:ID="b"/>
           </owl:oneOf>
         </owl:Class>
      </rdfs:range>
    </owl:InverseFunctionalProperty>

    <owl:Thing rdf:about="#a">
      <first:equalityOnA rdf:resource="#a"/>
    </owl:Thing>
    <owl:Thing rdf:about="#b">
      <first:equalityOnA rdf:resource="#b"/>
    </owl:Thing>

    <owl:Thing rdf:ID="c"/>

</rdf:RDF>
first:equalityOnA rdf:type owl:InverseFunctionalProperty .
first:A rdf:type owl:Class .
first:a rdf:type owl:Thing .
first:b rdf:type owl:Thing .
_:a rdf:first first:b .
_:a rdf:rest rdf:nil .
_:c rdf:first first:a .
_:c rdf:rest _:a .
first:A owl:oneOf _:c .
first:equalityOnA rdfs:range first:A .
first:a rdf:type owl:Thing .
first:a first:equalityOnA first:a .
first:b rdf:type owl:Thing .
first:b first:equalityOnA first:b .
first:c rdf:type owl:Thing .
DLConclusions: <SymmetricProperty/conclusions002>
<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/SymmetricProperty/premises002#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xml:base="http://www.w3.org/2002/03owlt/SymmetricProperty/conclusions002" >

   <owl:SymmetricProperty rdf:about="premises002#equalityOnA">
     <rdfs:domain>
        <owl:Class>
          <owl:oneOf rdf:parseType="Collection">
             <owl:Thing rdf:about="premises002#a"/>
             <owl:Thing rdf:about="premises002#b"/>
             <owl:Thing rdf:about="premises002#c"/>
          </owl:oneOf>
        </owl:Class>
     </rdfs:domain>
   </owl:SymmetricProperty>

   <owl:Thing rdf:about="premises002#a">
     <first:equalityOnA rdf:resource="premises002#a"/>
   </owl:Thing>

</rdf:RDF>
first:equalityOnA rdf:type owl:SymmetricProperty .
_:a rdf:type owl:Class .
first:a rdf:type owl:Thing .
first:b rdf:type owl:Thing .
first:c rdf:type owl:Thing .
_:c rdf:first first:c .
_:c rdf:rest rdf:nil .
_:e rdf:first first:b .
_:e rdf:rest _:c .
_:g rdf:first first:a .
_:g rdf:rest _:e .
_:a owl:oneOf _:g .
first:equalityOnA rdfs:domain _:a .
first:a rdf:type owl:Thing .
first:a first:equalityOnA first:a .

Lite Full Positive Entailment Test:003
Description: (informative) <SymmetricProperty/Manifest003#test>
A Lite version of test 001.
N3 format is informative.
LitePremises: <SymmetricProperty/premises003>
<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/SymmetricProperty/premises003#"
    xml:base="http://www.w3.org/2002/03owlt/SymmetricProperty/premises003" >

    <owl:Thing rdf:about="premises003#Ghent">
        <first:path>
           <owl:Thing rdf:about="premises003#Antwerp"/>
        </first:path>
    </owl:Thing>

    <owl:SymmetricProperty rdf:about="premises003#path"/>

</rdf:RDF>
first:Ghent rdf:type owl:Thing .
first:Antwerp rdf:type owl:Thing .
first:Ghent first:path first:Antwerp .
first:path rdf:type owl:SymmetricProperty .
LiteConclusions: <SymmetricProperty/conclusions003>
<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/SymmetricProperty/premises003#"
    xml:base="http://www.w3.org/2002/03owlt/SymmetricProperty/conclusions003" >

    <owl:Thing rdf:about="premises003#Antwerp">
        <first:path>
          <owl:Thing rdf:about="premises003#Ghent"/>
        </first:path>
    </owl:Thing>

    <owl:ObjectProperty rdf:about="premises003#path"/>

</rdf:RDF>
first:Antwerp rdf:type owl:Thing .
first:Ghent rdf:type owl:Thing .
first:Antwerp first:path first:Ghent .
first:path rdf:type owl:ObjectProperty .

7.1.11. owl:Thing

Lite Full Inconsistent do