<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
  <!ENTITY xsd "http://www.w3.org/2001/XMLSchema">
  <!ENTITY tns "http://www.csc.ncsu.edu/faculty/mpsingh/books/SOC/lst/description/life.owl#">
]>
<rdf:RDF
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
    xml:base="&tns;"
    xmlns="&tns;"
>

<owl:Ontology rdf:about="">
  <owl:versionInfo>$Id: Life.owl,v1.0 2003/12/01
                   12:35:31 huhns Exp$
  </owl:versionInfo>
  <rdfs:comment>An elementary ontology for life</rdfs:comment>
</owl:Ontology>

<owl:Class rdf:ID="OxygenUser"/>

<owl:Class rdf:ID="Animal">
  <rdfs:label>Animal</rdfs:label>
  <rdfs:comment>
    This class represents the animal kingdom.
  </rdfs:comment>
</owl:Class>

<owl:Class rdf:ID="Mammal">
  <rdfs:subClassOf rdf:resource="#Animal"/>
  <owl:disjointWith rdf:resource="#Reptile"/>
</owl:Class>

<owl:Class rdf:ID="Person">
  <rdfs:subClassOf rdf:resource="#Mammal"/>
</owl:Class>

<owl:Class rdf:ID="Reptile">
  <rdfs:subClassOf rdf:resource="#Animal"/>
  <rdfs:subClassOf rdf:resource="#OxygenUser"/>
</owl:Class>

<Reptile rdf:ID="BobsLizard"/>

<owl:Thing rdf:ID="BobsLizardCage"/>

<!-- <Mammal rdf:ID="Rover"> -->
<!--   <hasFather><MaleAnimal rdf:ID="#Spot"/></hasFather> -->
<!-- </Mammal> -->

<owl:ObjectProperty rdf:ID="hasParent">
  <rdfs:domain rdf:resource="#Animal"/>
  <rdfs:range rdf:resource="#Animal"/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="hasFather">
  <rdfs:subPropertyOf rdf:resource="#hasParent"/>
</owl:ObjectProperty>

<owl:Class rdf:ID="Vertebrate">
  <rdfs:subClassOf rdf:resource="#Animal"/>
</owl:Class>

<owl:Class rdf:ID="Bird">
  <rdfs:subClassOf rdf:resource="#Vertebrate"/>
</owl:Class>

<owl:Class rdf:ID="Amphibian">
  <rdfs:subClassOf rdf:resource="#Vertebrate"/>
</owl:Class>

<owl:Class rdf:about="Mammal"> <!-- Cannot have two rdf:IDs with same string -->
  <rdfs:subClassOf rdf:resource="#Vertebrate"/>
  <owl:disjointWith rdf:resource="#Reptile"/>
  <owl:disjointWith rdf:resource="#Bird"/>
  <owl:disjointWith rdf:resource="#Amphibian"/>
</owl:Class>

<owl:Class rdf:ID="OneDad">
  <owl:equivalentClass>
  <owl:Restriction>
    <owl:onProperty rdf:resource="#hasFather"/>
    <owl:maxCardinality rdf:datatype='&xsd;#nonNegativeInteger'>
     1
    </owl:maxCardinality>
  </owl:Restriction>
  </owl:equivalentClass>
</owl:Class>

</rdf:RDF>
