## Base URI of process isfile:/afs/w3.org/pub/WWW/2000/10/swap/test/dpo/
        
#  Notation3 generation by
#       notation3.py,v 1.43 2001/01/05 22:54:53 timbl Exp

#   Base was: file:/afs/w3.org/pub/WWW/2000/10/swap/test/dpo/
     @prefix daml: <http://www.daml.org/2000/12/daml+oil#> .
     @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
     @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
     @prefix : <daml+oil-ex.daml#> .
    
      [      a daml:Disjoint;
             rdfs:Class "",
                    "",
                    "" ].
    
    <>     a daml:Ontology;
         daml:versionInfo "$Id: daml+oil-ex.daml,v 1.1 2001/01/02 18:44:47 mdean Exp$";
         rdfs:comment "An example ontology";
         daml:imports <http://www.daml.org/2000/12/daml+oil> .
    
    :Adam     a <http://www.daml.org/2000/12/daml+oil-ex#Person>;
         rdfs:label "Adam";
         rdfs:comment "Adam is a person." .
    
    :Animal     a rdfs:Class;
         rdfs:label "Animal";
         rdfs:comment """
    This class of animals is illustrative of a number of ontological idioms.
  """,
                """
    Animals have exactly two parents, ie:
    If x is an animal, then it has exactly 2 parents 
    (but it is NOT the case that anything that has 2 parents is an animal).
  """;
         rdfs:subClassOf  [
             a daml:Restriction;
             daml:onProperty :hasParent ] .
    
    :Car     a rdfs:Class;
         rdfs:comment "no car is a person";
         rdfs:subClassOf  [
             a rdfs:Class;
             daml:complementOf :Person ] .
    
    :Female     a rdfs:Class;
         rdfs:subClassOf :Animal;
         daml:disjointWith :Male .
    
    :Height     a rdfs:Class;
         daml:oneOf  (
        :short 
        :medium 
        :tall  ) .
    
    :HumanBeing     a rdfs:Class;
         daml:sameClassAs :Person .
    
    :Male     a rdfs:Class;
         rdfs:subClassOf :Animal .
    
    :Man     a rdfs:Class;
         rdfs:subClassOf :Person,
                :Male .
    
    :MarriedPerson     a rdfs:Class;
         daml:intersectionOf  (
        :Person 
         [
                 daml:onProperty :hasSpouse ] ) .
    
    :Person     a rdfs:Class;
         rdfs:subClassOf :Animal,
                 [
             a daml:Restriction;
             daml:onProperty :hasParent;
             daml:toClass :Person ],
                 [
             a daml:Restriction;
             daml:onProperty :hasFather ],
                 [
             a daml:Restriction;
             daml:onProperty :hasSpouse ],
                 [
             a daml:Restriction;
             daml:onProperty :hasOccupation;
             daml:hasClassQ :FullTimeOccupation ];
         rdfs:comment "every person is a man or a woman";
         daml:disjointUnionOf  (
        :Man 
        :Woman  ) .
    
    :TallMan     a rdfs:Class;
         daml:intersectionOf  (
        :TallThing 
        :Man  ) .
    
    :TallThing     a rdfs:Class;
         daml:sameClassAs  [
             a daml:Restriction;
             daml:onProperty :hasHeight;
             daml:hasValue :tall ] .
    
    :Woman     a rdfs:Class;
         rdfs:subClassOf :Person,
                :Female .
    
    :descendant     a daml:TransitiveProperty .
    
    :hasAncestor     a daml:TransitiveProperty;
         rdfs:label "hasAncestor" .
    
    :hasChild     a rdf:Property;
         daml:inverseOf :hasParent .
    
    :hasFather     a rdf:Property;
         rdfs:subPropertyOf :hasParent;
         rdfs:range :Male .
    
    :hasHeight     a rdf:Property;
         rdfs:range :Height .
    
    :hasMom     a rdf:Property;
         daml:samePropertyAs :hasMother .
    
    :hasMother     a daml:UniqueProperty;
         rdfs:subPropertyOf :hasParent;
         rdfs:range :Female .
    
    :hasParent     a rdf:Property;
         rdfs:domain :Animal;
         rdfs:range :Animal .
    
 #ENDS
