<?xml version="1.0"?>
<rdf:RDF
    xmlns:p1="file:/Users/matthewhorridge/Desktop/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns="http://cohse.semanticweb.org/ontologies/people#"
  xml:base="http://cohse.semanticweb.org/ontologies/people">
  <owl:Ontology rdf:about=""/>
  <owl:Ontology rdf:about="http://www.w3.org/2002/07/owl#Thing"/>
  <owl:Class rdf:ID="catowner">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:ID="person"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:ID="has_pet"/>
            </owl:onProperty>
            <owl:someValuesFrom>
              <owl:Class rdf:ID="cat"/>
            </owl:someValuesFrom>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="kid">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:ID="young"/>
          <owl:Class rdf:about="#person"/>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="pet"/>
  <owl:Class rdf:ID="cow">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="vegetarian"/>
    </rdfs:subClassOf>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Cows are naturally vegetarians.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="truck">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="vehicle"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="busdriver">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#person"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:ID="drives"/>
            </owl:onProperty>
            <owl:someValuesFrom>
              <owl:Class rdf:ID="bus"/>
            </owl:someValuesFrom>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Someone who drives a bus.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="car">
    <rdfs:subClassOf rdf:resource="#vehicle"/>
  </owl:Class>
  <owl:Class rdf:ID="magazine">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="publication"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="haulagetruckdriver">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#person"/>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#drives"/>
            <owl:someValuesFrom rdf:resource="#truck"/>
          </owl:Restriction>
          <owl:Restriction>
            <owl:someValuesFrom>
              <owl:Restriction>
                <owl:onProperty>
                  <owl:ObjectProperty rdf:ID="part_of"/>
                </owl:onProperty>
                <owl:someValuesFrom>
                  <owl:Class rdf:ID="haulagecompany"/>
                </owl:someValuesFrom>
              </owl:Restriction>
            </owl:someValuesFrom>
            <owl:onProperty>
              <owl:ObjectProperty rdf:ID="works_for"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="lorrydriver">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#person"/>
          <owl:Restriction>
            <owl:someValuesFrom>
              <owl:Class rdf:ID="lorry"/>
            </owl:someValuesFrom>
            <owl:onProperty rdf:resource="#drives"/>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="female"/>
  <owl:Class rdf:about="#vegetarian">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A vegetarian is defined as an animal that eats no other animals, or parts of animals.</rdfs:comment>
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:ID="animal"/>
          <owl:Restriction>
            <owl:allValuesFrom>
              <owl:Class>
                <owl:complementOf>
                  <owl:Class rdf:about="#animal"/>
                </owl:complementOf>
              </owl:Class>
            </owl:allValuesFrom>
            <owl:onProperty>
              <owl:ObjectProperty rdf:ID="eats"/>
            </owl:onProperty>
          </owl:Restriction>
          <owl:Restriction>
            <owl:allValuesFrom>
              <owl:Class>
                <owl:complementOf>
                  <owl:Restriction>
                    <owl:someValuesFrom>
                      <owl:Class rdf:about="#animal"/>
                    </owl:someValuesFrom>
                    <owl:onProperty>
                      <owl:ObjectProperty rdf:about="#part_of"/>
                    </owl:onProperty>
                  </owl:Restriction>
                </owl:complementOf>
              </owl:Class>
            </owl:allValuesFrom>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#eats"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="whitething"/>
  <owl:Class rdf:ID="plant"/>
  <owl:Class rdf:ID="dog">
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:ID="bone"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#eats"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#cat"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="dogowner">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#person"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#has_pet"/>
            </owl:onProperty>
            <owl:someValuesFrom rdf:resource="#dog"/>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="adult">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Things that are adult.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="Anonymous-1">
    <owl:equivalentClass>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#animal"/>
          <owl:Restriction>
            <owl:someValuesFrom>
              <owl:Class rdf:about="#animal"/>
            </owl:someValuesFrom>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#part_of"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:unionOf>
      </owl:Class>
    </owl:equivalentClass>
    <owl:disjointWith>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#plant"/>
          <owl:Restriction>
            <owl:someValuesFrom rdf:resource="#plant"/>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#part_of"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:unionOf>
      </owl:Class>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="whitevanman">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:ID="man"/>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#drives"/>
            <owl:someValuesFrom>
              <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                  <owl:Class rdf:ID="van"/>
                  <owl:Class rdf:about="#whitething"/>
                </owl:intersectionOf>
              </owl:Class>
            </owl:someValuesFrom>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:ID="tabloid"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:ID="reads"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A white van man is a man who drives a white van.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="bicycle">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A human propelled vehicle, with two wheels</rdfs:comment>
    <rdfs:subClassOf rdf:resource="#vehicle"/>
  </owl:Class>
  <owl:Class rdf:ID="driver">
    <rdfs:subClassOf rdf:resource="#adult"/>
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#person"/>
          <owl:Restriction>
            <owl:someValuesFrom rdf:resource="#vehicle"/>
            <owl:onProperty rdf:resource="#drives"/>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="brain"/>
  <owl:Class rdf:about="#haulagecompany">
    <rdfs:subClassOf>
      <owl:Class rdf:ID="company"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="woman">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#adult"/>
          <owl:Class rdf:about="#female"/>
          <owl:Class rdf:about="#person"/>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="buscompany">
    <rdfs:subClassOf rdf:resource="#company"/>
  </owl:Class>
  <owl:Class rdf:about="#man">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#adult"/>
          <owl:Class rdf:ID="male"/>
          <owl:Class rdf:about="#person"/>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="vandriver">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#person"/>
          <owl:Restriction>
            <owl:someValuesFrom>
              <owl:Class rdf:about="#van"/>
            </owl:someValuesFrom>
            <owl:onProperty rdf:resource="#drives"/>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="#cat">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#animal"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="petowner">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#person"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#has_pet"/>
            </owl:onProperty>
            <owl:someValuesFrom>
              <owl:Class rdf:about="#animal"/>
            </owl:someValuesFrom>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="grass">
    <rdfs:subClassOf rdf:resource="#plant"/>
  </owl:Class>
  <owl:Class rdf:about="#van">
    <rdfs:subClassOf rdf:resource="#vehicle"/>
  </owl:Class>
  <owl:Class rdf:ID="oldlady">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#female"/>
          <owl:Class rdf:about="#person"/>
          <owl:Class rdf:ID="elderly"/>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:subClassOf>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#has_pet"/>
            </owl:onProperty>
            <owl:someValuesFrom>
              <owl:Class rdf:about="#animal"/>
            </owl:someValuesFrom>
          </owl:Restriction>
          <owl:Restriction>
            <owl:allValuesFrom rdf:resource="#cat"/>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#has_pet"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:ID="duck">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#animal"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#male">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >The class of all male things.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="madcow">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#cow"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#eats"/>
            </owl:onProperty>
            <owl:someValuesFrom>
              <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                  <owl:Class rdf:about="#brain"/>
                  <owl:Restriction>
                    <owl:someValuesFrom>
                      <owl:Class rdf:ID="sheep"/>
                    </owl:someValuesFrom>
                    <owl:onProperty>
                      <owl:ObjectProperty rdf:about="#part_of"/>
                    </owl:onProperty>
                  </owl:Restriction>
                </owl:intersectionOf>
              </owl:Class>
            </owl:someValuesFrom>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A mad cow is a cow that has been eating the brains of sheep.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="giraffe">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:allValuesFrom>
          <owl:Class rdf:ID="leaf"/>
        </owl:allValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#eats"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#animal"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#person">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#animal"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#lorry">
    <rdfs:subClassOf rdf:resource="#vehicle"/>
  </owl:Class>
  <owl:Class rdf:ID="dogliker">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#person"/>
          <owl:Restriction>
            <owl:someValuesFrom rdf:resource="#dog"/>
            <owl:onProperty>
              <owl:ObjectProperty rdf:ID="likes"/>
            </owl:onProperty>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="#leaf">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:someValuesFrom>
          <owl:Class rdf:ID="tree"/>
        </owl:someValuesFrom>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#part_of"/>
        </owl:onProperty>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
  </owl:Class>
  <owl:Class rdf:ID="haulageworker">
    <owl:equivalentClass>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#works_for"/>
        <owl:someValuesFrom>
          <owl:Class>
            <owl:unionOf rdf:parseType="Collection">
              <owl:Restriction>
                <owl:onProperty>
                  <owl:ObjectProperty rdf:about="#part_of"/>
                </owl:onProperty>
                <owl:someValuesFrom rdf:resource="#haulagecompany"/>
              </owl:Restriction>
              <owl:Class rdf:about="#haulagecompany"/>
            </owl:unionOf>
          </owl:Class>
        </owl:someValuesFrom>
      </owl:Restriction>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="redtop">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#tabloid"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#sheep">
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#eats"/>
        </owl:onProperty>
        <owl:allValuesFrom rdf:resource="#grass"/>
      </owl:Restriction>
    </rdfs:subClassOf>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#animal"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#tree">
    <rdfs:subClassOf rdf:resource="#plant"/>
  </owl:Class>
  <owl:Class rdf:about="#bus">
    <rdfs:subClassOf rdf:resource="#vehicle"/>
  </owl:Class>
  <owl:Class rdf:ID="broadsheet">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A newspaper. Broadsheets are usually considered to be more "high-brow" than tabloids.</rdfs:comment>
    <rdfs:subClassOf>
      <owl:Class rdf:ID="newspaper"/>
    </rdfs:subClassOf>
    <owl:disjointWith>
      <owl:Class rdf:about="#tabloid"/>
    </owl:disjointWith>
  </owl:Class>
  <owl:Class rdf:ID="tiger">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#animal"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#young">
    <owl:disjointWith rdf:resource="#adult"/>
  </owl:Class>
  <owl:Class rdf:about="#tabloid">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A newspaper. Tabloids are usually thought of as more "down-market" than broadsheets.</rdfs:comment>
    <rdfs:subClassOf>
      <owl:Class rdf:about="#newspaper"/>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:Class rdf:about="#newspaper">
    <rdfs:subClassOf>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#broadsheet"/>
          <owl:Class rdf:about="#tabloid"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:subClassOf>
    <rdfs:subClassOf rdf:resource="#publication"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >All newspapers are either broadsheets or tabloids.</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="qualitybroadsheet">
    <rdfs:subClassOf rdf:resource="#broadsheet"/>
  </owl:Class>
  <owl:Class rdf:ID="animallover">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#person"/>
          <owl:Restriction>
            <owl:onProperty>
              <owl:ObjectProperty rdf:about="#has_pet"/>
            </owl:onProperty>
            <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
            >3</owl:minCardinality>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Someone who really likes animals</rdfs:comment>
  </owl:Class>
  <owl:Class rdf:ID="catliker">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#person"/>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#likes"/>
            <owl:someValuesFrom rdf:resource="#cat"/>
          </owl:Restriction>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:ID="grownup">
    <owl:equivalentClass>
      <owl:Class>
        <owl:intersectionOf rdf:parseType="Collection">
          <owl:Class rdf:about="#adult"/>
          <owl:Class rdf:about="#person"/>
        </owl:intersectionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>
  <owl:Class rdf:about="#elderly">
    <rdfs:subClassOf rdf:resource="#adult"/>
  </owl:Class>
  <owl:Class rdf:about="#animal">
    <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    <rdfs:subClassOf>
      <owl:Restriction>
        <owl:onProperty>
          <owl:ObjectProperty rdf:about="#eats"/>
        </owl:onProperty>
        <owl:someValuesFrom rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
      </owl:Restriction>
    </rdfs:subClassOf>
  </owl:Class>
  <owl:ObjectProperty rdf:ID="has_part">
    <owl:inverseOf>
      <owl:ObjectProperty rdf:about="#part_of"/>
    </owl:inverseOf>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#eats">
    <owl:inverseOf>
      <owl:ObjectProperty rdf:ID="eaten_by"/>
    </owl:inverseOf>
    <rdfs:domain rdf:resource="#animal"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#eaten_by">
    <owl:inverseOf rdf:resource="#eats"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="has_mother">
    <rdfs:range rdf:resource="#woman"/>
    <rdfs:subPropertyOf>
      <owl:ObjectProperty rdf:ID="has_parent"/>
    </rdfs:subPropertyOf>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#has_pet">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Anyone that has a pet must like that pet.</rdfs:comment>
    <owl:inverseOf>
      <owl:ObjectProperty rdf:ID="is_pet_of"/>
    </owl:inverseOf>
    <rdfs:range rdf:resource="#animal"/>
    <rdfs:domain rdf:resource="#person"/>
    <rdfs:subPropertyOf rdf:resource="#likes"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#reads">
    <rdfs:range rdf:resource="#publication"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="has_child"/>
  <owl:ObjectProperty rdf:about="#part_of">
    <owl:inverseOf rdf:resource="#has_part"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:ID="has_father">
    <rdfs:subPropertyOf rdf:resource="#has_parent"/>
    <rdfs:range rdf:resource="#man"/>
  </owl:ObjectProperty>
  <owl:ObjectProperty rdf:about="#is_pet_of">
    <owl:inverseOf rdf:resource="#has_pet"/>
  </owl:ObjectProperty>
  <owl:DatatypeProperty rdf:ID="service_number">
    <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
  </owl:DatatypeProperty>
  <person rdf:ID="Pete">
    <has_pet>
      <animal rdf:ID="Spike">
        <is_pet_of rdf:resource="#Pete"/>
      </animal>
    </has_pet>
  </person>
  <bus rdf:ID="The42">
    <service_number rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >42</service_number>
  </bus>
  <duck rdf:ID="Louie">
    <is_pet_of>
      <person rdf:ID="Walt">
        <has_pet>
          <duck rdf:ID="Huey">
            <is_pet_of rdf:resource="#Walt"/>
          </duck>
        </has_pet>
        <has_pet>
          <duck rdf:ID="Dewey">
            <is_pet_of rdf:resource="#Walt"/>
          </duck>
        </has_pet>
        <has_pet rdf:resource="#Louie"/>
      </person>
    </is_pet_of>
  </duck>
  <whitething rdf:ID="Q123ABC">
    <rdf:type rdf:resource="#van"/>
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >A white van</rdfs:comment>
  </whitething>
  <male rdf:ID="Mick">
    <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
    >Mick is male and drives a white van. Due to the axiom concerning drivers, we know that Mick must be a man, and is therefore a white van man. The axiom about the reading material of a white van man then allows us to infer things about the Daily Mirror.</rdfs:comment>
    <drives rdf:resource="#Q123ABC"/>
    <reads>
      <publication rdf:ID="DailyMirror"/>
    </reads>
  </male>
  <elderly rdf:ID="Minnie">
    <rdf:type rdf:resource="#female"/>
  </elderly>
  <broadsheet rdf:ID="TheTimes"/>
  <tiger rdf:ID="Fluffy"/>
  <broadsheet rdf:ID="TheGuardian"/>
  <person rdf:ID="Kevin"/>
  <dog rdf:ID="Rex"/>
  <dog rdf:ID="Fido"/>
  <cow rdf:ID="Flossie"/>
  <tabloid rdf:ID="TheSun"/>
  <rdf:Description rdf:ID="Joe">
    <rdf:type>
      <owl:Restriction>
        <owl:onProperty rdf:resource="#has_pet"/>
        <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
        >1</owl:maxCardinality>
      </owl:Restriction>
    </rdf:type>
    <rdf:type rdf:resource="#person"/>
  </rdf:Description>
  <animal rdf:ID="Tom">
    <is_pet_of rdf:resource="#Minnie"/>
  </animal>
  <cat rdf:ID="Tibbs"/>
  <person rdf:ID="Fred"/>
</rdf:RDF>

<!-- Created with Protege (with OWL Plugin 1.3, Build 192)  http://protege.stanford.edu -->

