<?xml version="1.0" encoding="ISO-8859-1"?>

<rdf:RDF xmlns:ns0="http://cohse.semanticweb.org/ontologies/people#"
    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#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
    xml:base="http://cohse.semanticweb.org/ontologies/people"
    xmlns="http://cohse.semanticweb.org/ontologies/people#">

  <owl:Ontology rdf:about="" />

    <owl:Class rdf:about="#white+van+man">
        <rdfs:label>white van man</rdfs:label>
        <rdfs:comment>A white van man is a man who drives a white van.</rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#man"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#drives"/>
                        <owl:someValuesFrom>
                            <owl:Class>
                                <owl:intersectionOf rdf:parseType="Collection">
                                    <owl:Class rdf:about="#white+thing"/>
                                    <owl:Class rdf:about="#van"/>
                                </owl:intersectionOf>
                            </owl:Class>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#publication">
        <rdfs:label>publication</rdfs:label>
        <rdfs:comment></rdfs:comment>
    </owl:Class>

    <owl:Class rdf:about="#giraffe">
        <rdfs:label>giraffe</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#animal"/>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#eats"/>
                <owl:allValuesFrom>
                    <owl:Class rdf:about="#leaf"/>
                </owl:allValuesFrom>
            </owl:Restriction>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#cat+liker">
        <rdfs:label>cat liker</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#likes"/>
                        <owl:someValuesFrom>
                            <owl:Class rdf:about="#cat"/>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#cat+owner">
        <rdfs:label>cat owner</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#has_pet"/>
                        <owl:someValuesFrom>
                            <owl:Class rdf:about="#cat"/>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#grownup">
        <rdfs:label>grownup</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Class rdf:about="#adult"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#quality+broadsheet">
        <rdfs:label>quality broadsheet</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#broadsheet"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#vehicle">
        <rdfs:label>vehicle</rdfs:label>
        <rdfs:comment></rdfs:comment>
    </owl:Class>

    <owl:Class rdf:about="#newspaper">
        <rdfs:label>newspaper</rdfs:label>
        <rdfs:comment>All newspapers are either broadsheets or tabloids.</rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#publication"/>
        </rdfs:subClassOf>
        <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>
    </owl:Class>

    <owl:Class rdf:about="#bus+company">
        <rdfs:label>bus company</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#company"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#pet+owner">
        <rdfs:label>pet owner</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#has_pet"/>
                        <owl:someValuesFrom>
                            <owl:Class rdf:about="#animal"/>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#mad+cow">
        <rdfs:label>mad cow</rdfs:label>
        <rdfs:comment>A mad cow is a cow that has been eating the brains of sheep.</rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#cow"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#eats"/>
                        <owl:someValuesFrom>
                            <owl:Class>
                                <owl:intersectionOf rdf:parseType="Collection">
                                    <owl:Class rdf:about="#brain"/>
                                    <owl:Restriction>
                                    <owl:onProperty rdf:resource="#part_of"/>
                                    <owl:someValuesFrom>
                                    <owl:Class rdf:about="#sheep"/>
                                    </owl:someValuesFrom>
                                    </owl:Restriction>
                                </owl:intersectionOf>
                            </owl:Class>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#bus">
        <rdfs:label>bus</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#vehicle"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#car">
        <rdfs:label>car</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#vehicle"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#cat">
        <rdfs:label>cat</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#animal"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#cow">
        <rdfs:label>cow</rdfs:label>
        <rdfs:comment>Cows are naturally vegetarians.</rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#vegetarian"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#dog">
        <rdfs:label>dog</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#eats"/>
                <owl:someValuesFrom>
                    <owl:Class rdf:about="#bone"/>
                </owl:someValuesFrom>
            </owl:Restriction>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#kid">
        <rdfs:label>kid</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Class rdf:about="#young"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#man">
        <rdfs:label>man</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Class rdf:about="#male"/>
                    <owl:Class rdf:about="#adult"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#pet">
        <rdfs:label>pet</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#is_pet_of"/>
                <owl:someValuesFrom>
                    <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Thing"/>
                </owl:someValuesFrom>
            </owl:Restriction>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#van">
        <rdfs:label>van</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#vehicle"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#company">
        <rdfs:label>company</rdfs:label>
        <rdfs:comment></rdfs:comment>
    </owl:Class>

    <owl:Class rdf:about="#red+top">
        <rdfs:label>red top</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#tabloid"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#bone">
        <rdfs:label>bone</rdfs:label>
        <rdfs:comment></rdfs:comment>
    </owl:Class>

    <owl:Class rdf:about="#duck">
        <rdfs:label>duck</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#animal"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#leaf">
        <rdfs:label>leaf</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#part_of"/>
                <owl:someValuesFrom>
                    <owl:Class rdf:about="#tree"/>
                </owl:someValuesFrom>
            </owl:Restriction>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#male">
        <rdfs:label>male</rdfs:label>
        <rdfs:comment>The class of all male things.</rdfs:comment>
    </owl:Class>

    <owl:Class rdf:about="#tree">
        <rdfs:label>tree</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#plant"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#broadsheet">
        <rdfs:label>broadsheet</rdfs:label>
        <rdfs:comment>A newspaper. Broadsheets are usually considered to be more "high-brow" than tabloids.</rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#newspaper"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#haulage+worker">
        <rdfs:label>haulage worker</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#works_for"/>
                <owl:someValuesFrom>
                    <owl:Class>
                        <owl:unionOf rdf:parseType="Collection">
                            <owl:Class rdf:about="#haulage+company"/>
                            <owl:Restriction>
                                <owl:onProperty rdf:resource="#part_of"/>
                                <owl:someValuesFrom>
                                    <owl:Class rdf:about="#haulage+company"/>
                                </owl:someValuesFrom>
                            </owl:Restriction>
                        </owl:unionOf>
                    </owl:Class>
                </owl:someValuesFrom>
            </owl:Restriction>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#haulage+truck+driver">
        <rdfs:label>haulage truck driver</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#drives"/>
                        <owl:someValuesFrom>
                            <owl:Class rdf:about="#truck"/>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#works_for"/>
                        <owl:someValuesFrom>
                            <owl:Restriction>
                                <owl:onProperty rdf:resource="#part_of"/>
                                <owl:someValuesFrom>
                                    <owl:Class rdf:about="#haulage+company"/>
                                </owl:someValuesFrom>
                            </owl:Restriction>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#bus+driver">
        <rdfs:label>bus driver</rdfs:label>
        <rdfs:comment>Someone who drives a bus.</rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#drives"/>
                        <owl:someValuesFrom>
                            <owl:Class rdf:about="#bus"/>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#vegetarian">
        <rdfs:label>vegetarian</rdfs:label>
        <rdfs:comment>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:about="#animal"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#eats"/>
                        <owl:allValuesFrom>
                            <owl:Class>
                                <owl:complementOf>
                                    <owl:Class rdf:about="#animal"/>
                                </owl:complementOf>
                            </owl:Class>
                        </owl:allValuesFrom>
                    </owl:Restriction>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#eats"/>
                        <owl:allValuesFrom>
                            <owl:Class>
                                <owl:complementOf>
                                    <owl:Restriction>
                                    <owl:onProperty rdf:resource="#part_of"/>
                                    <owl:someValuesFrom>
                                    <owl:Class rdf:about="#animal"/>
                                    </owl:someValuesFrom>
                                    </owl:Restriction>
                                </owl:complementOf>
                            </owl:Class>
                        </owl:allValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#animal+lover">
        <rdfs:label>animal lover</rdfs:label>
        <rdfs:comment>Someone who really likes animals   </rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#has_pet"/>
                        <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">3</owl:minCardinality>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#dog+liker">
        <rdfs:label>dog liker</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#likes"/>
                        <owl:someValuesFrom>
                            <owl:Class rdf:about="#dog"/>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#dog+owner">
        <rdfs:label>dog owner</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#has_pet"/>
                        <owl:someValuesFrom>
                            <owl:Class rdf:about="#dog"/>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#elderly">
        <rdfs:label>elderly</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#adult"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#tabloid">
        <rdfs:label>tabloid</rdfs:label>
        <rdfs:comment>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="#lorry+driver">
        <rdfs:label>lorry driver</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#drives"/>
                        <owl:someValuesFrom>
                            <owl:Class rdf:about="#lorry"/>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#animal">
        <rdfs:label>animal</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#eats"/>
                <owl:someValuesFrom>
                    <owl:Class rdf:about="http://www.w3.org/2002/07/owl#Thing"/>
                </owl:someValuesFrom>
            </owl:Restriction>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#driver">
        <rdfs:label>driver</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#drives"/>
                        <owl:someValuesFrom>
                            <owl:Class rdf:about="#vehicle"/>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#female">
        <rdfs:label>female</rdfs:label>
        <rdfs:comment></rdfs:comment>
    </owl:Class>

    <owl:Class rdf:about="#adult">
        <rdfs:label>adult</rdfs:label>
        <rdfs:comment>Things that are adult.</rdfs:comment>
    </owl:Class>

    <owl:Class rdf:about="#brain">
        <rdfs:label>brain</rdfs:label>
        <rdfs:comment></rdfs:comment>
    </owl:Class>

    <owl:Class rdf:about="#grass">
        <rdfs:label>grass</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#plant"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#lorry">
        <rdfs:label>lorry</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#vehicle"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#plant">
        <rdfs:label>plant</rdfs:label>
        <rdfs:comment></rdfs:comment>
    </owl:Class>

    <owl:Class rdf:about="#sheep">
        <rdfs:label>sheep</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#animal"/>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#eats"/>
                <owl:allValuesFrom>
                    <owl:Class rdf:about="#grass"/>
                </owl:allValuesFrom>
            </owl:Restriction>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#tiger">
        <rdfs:label>tiger</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#animal"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#truck">
        <rdfs:label>truck</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#vehicle"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#woman">
        <rdfs:label>woman</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Class rdf:about="#female"/>
                    <owl:Class rdf:about="#adult"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#young">
        <rdfs:label>young</rdfs:label>
        <rdfs:comment></rdfs:comment>
    </owl:Class>

    <owl:Class rdf:about="#haulage+company">
        <rdfs:label>haulage company</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#company"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#white+thing">
        <rdfs:label>white thing</rdfs:label>
        <rdfs:comment></rdfs:comment>
    </owl:Class>

    <owl:Class rdf:about="#person">
        <rdfs:label>person</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#animal"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#magazine">
        <rdfs:label>magazine</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#publication"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#old+lady">
        <rdfs:label>old lady</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Class rdf:about="#female"/>
                    <owl:Class rdf:about="#elderly"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#van+driver">
        <rdfs:label>van driver</rdfs:label>
        <rdfs:comment></rdfs:comment>
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#person"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#drives"/>
                        <owl:someValuesFrom>
                            <owl:Class rdf:about="#van"/>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>

    <owl:Class rdf:about="#bicycle">
        <rdfs:label>bicycle</rdfs:label>
        <rdfs:comment>A human propelled vehicle, with two wheels   </rdfs:comment>
        <rdfs:subClassOf>
            <owl:Class rdf:about="#vehicle"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:ObjectProperty rdf:about="#has_child">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>has_child</rdfs:label>
    </owl:ObjectProperty>

    <owl:ObjectProperty rdf:about="#has_pet">
        <rdfs:comment>Anyone that has a pet must like that pet. </rdfs:comment>
        <rdfs:label>has_pet</rdfs:label>
        <rdfs:subPropertyOf rdf:resource="#likes"/>
        <rdfs:domain>
            <owl:Class rdf:about="#person"/>
        </rdfs:domain>
        <rdfs:range>
            <owl:Class rdf:about="#animal"/>
        </rdfs:range>
    </owl:ObjectProperty>

    <owl:ObjectProperty rdf:about="#eats">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>eats</rdfs:label>
        <owl:inverseOf rdf:resource="#eaten_by"/>
        <rdfs:domain>
            <owl:Class rdf:about="#animal"/>
        </rdfs:domain>
    </owl:ObjectProperty>

    <owl:ObjectProperty rdf:about="#works_for">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>works_for</rdfs:label>
    </owl:ObjectProperty>

    <owl:ObjectProperty rdf:about="#has_father">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>has_father</rdfs:label>
        <rdfs:subPropertyOf rdf:resource="#has_parent"/>
        <rdfs:range>
            <owl:Class rdf:about="#man"/>
        </rdfs:range>
    </owl:ObjectProperty>

    <owl:ObjectProperty rdf:about="#has_mother">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>has_mother</rdfs:label>
        <rdfs:subPropertyOf rdf:resource="#has_parent"/>
        <rdfs:range>
            <owl:Class rdf:about="#woman"/>
        </rdfs:range>
    </owl:ObjectProperty>

    <owl:ObjectProperty rdf:about="#has_parent">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>has_parent</rdfs:label>
    </owl:ObjectProperty>

    <owl:DatatypeProperty rdf:about="#service_number">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>service_number</rdfs:label>
        <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#integer"/>
    </owl:DatatypeProperty>

    <owl:ObjectProperty rdf:about="#eaten_by">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>eaten_by</rdfs:label>
    </owl:ObjectProperty>

    <owl:ObjectProperty rdf:about="#drives">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>drives</rdfs:label>
    </owl:ObjectProperty>

    <owl:ObjectProperty rdf:about="#likes">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>likes</rdfs:label>
    </owl:ObjectProperty>

    <owl:ObjectProperty rdf:about="#reads">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>reads</rdfs:label>
        <rdfs:range>
            <owl:Class rdf:about="#publication"/>
        </rdfs:range>
    </owl:ObjectProperty>

    <owl:ObjectProperty rdf:about="#part_of">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>part_of</rdfs:label>
    </owl:ObjectProperty>

    <owl:ObjectProperty rdf:about="#has_part">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>has_part</rdfs:label>
        <owl:inverseOf rdf:resource="#part_of"/>
    </owl:ObjectProperty>

    <owl:ObjectProperty rdf:about="#is_pet_of">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>is_pet_of</rdfs:label>
        <owl:inverseOf rdf:resource="#has_pet"/>
    </owl:ObjectProperty>

    <owl:Class rdf:about="#white+van+man">
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#reads"/>
                <owl:allValuesFrom>
                    <owl:Class rdf:about="#tabloid"/>
                </owl:allValuesFrom>
            </owl:Restriction>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#driver">
        <rdfs:subClassOf>
            <owl:Class rdf:about="#adult"/>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#old+lady">
        <rdfs:subClassOf>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#has_pet"/>
                        <owl:allValuesFrom>
                            <owl:Class rdf:about="#cat"/>
                        </owl:allValuesFrom>
                    </owl:Restriction>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#has_pet"/>
                        <owl:someValuesFrom>
                            <owl:Class rdf:about="#animal"/>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:intersectionOf>
            </owl:Class>
        </rdfs:subClassOf>
    </owl:Class>

    <owl:Class rdf:about="#dog">
        <owl:disjointWith>
            <owl:Class rdf:about="#cat"/>
        </owl:disjointWith>
    </owl:Class>

    <owl:Class rdf:about="#broadsheet">
        <owl:disjointWith>
            <owl:Class rdf:about="#tabloid"/>
        </owl:disjointWith>
    </owl:Class>

    <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
            <owl:Class rdf:about="#animal"/>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#part_of"/>
                <owl:someValuesFrom>
                    <owl:Class rdf:about="#animal"/>
                </owl:someValuesFrom>
            </owl:Restriction>
        </owl:unionOf>
        <owl:disjointWith>
            <owl:Class>
                <owl:unionOf rdf:parseType="Collection">
                    <owl:Class rdf:about="#plant"/>
                    <owl:Restriction>
                        <owl:onProperty rdf:resource="#part_of"/>
                        <owl:someValuesFrom>
                            <owl:Class rdf:about="#plant"/>
                        </owl:someValuesFrom>
                    </owl:Restriction>
                </owl:unionOf>
            </owl:Class>
        </owl:disjointWith>
    </owl:Class>

    <owl:Class rdf:about="#adult">
        <owl:disjointWith>
            <owl:Class rdf:about="#young"/>
        </owl:disjointWith>
    </owl:Class>

    <rdf:Description rdf:about="#The+Times">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>The Times</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#broadsheet"/>
        </rdf:type>
    </rdf:Description>

    <rdf:Description rdf:about="#The+Sun">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>The Sun</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#tabloid"/>
        </rdf:type>
    </rdf:Description>

    <owl:Thing rdf:about="#Daily+Mirror">
        <rdfs:comment>The paper read by Mick (a white van man). </rdfs:comment>
        <rdfs:label>Daily Mirror</rdfs:label>
        <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    </owl:Thing>

    <rdf:Description rdf:about="#Q123+ABC">
        <rdfs:comment>A white van</rdfs:comment>
        <rdfs:label>Q123 ABC</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#van"/>
        </rdf:type>
        <rdf:type>
            <owl:Class rdf:about="#white+thing"/>
        </rdf:type>
    </rdf:Description>

    <rdf:Description rdf:about="#Joe">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Joe</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#person"/>
        </rdf:type>
        <rdf:type>
            <owl:Restriction>
                <owl:onProperty rdf:resource="#has_pet"/>
                <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
            </owl:Restriction>
        </rdf:type>
        <ns0:has_pet rdf:resource="#Fido"/>
    </rdf:Description>

    <rdf:Description rdf:about="#Rex">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Rex</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#dog"/>
        </rdf:type>
        <ns0:is_pet_of rdf:resource="#Mick"/>
    </rdf:Description>

    <owl:Thing rdf:about="#Tom">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Tom</rdfs:label>
        <rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Thing"/>
    </owl:Thing>

    <rdf:Description rdf:about="#Flossie">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Flossie</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#cow"/>
        </rdf:type>
    </rdf:Description>

    <rdf:Description rdf:about="#Fido">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Fido</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#dog"/>
        </rdf:type>
    </rdf:Description>

    <rdf:Description rdf:about="#Fred">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Fred</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#person"/>
        </rdf:type>
        <ns0:has_pet rdf:resource="#Tibbs"/>
    </rdf:Description>

    <rdf:Description rdf:about="#Huey">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Huey</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#duck"/>
        </rdf:type>
    </rdf:Description>

    <rdf:Description rdf:about="#Mick">
        <rdfs:comment>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>
        <rdfs:label>Mick</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#male"/>
        </rdf:type>
        <ns0:drives rdf:resource="#Q123+ABC"/>
        <ns0:reads rdf:resource="#Daily+Mirror"/>
    </rdf:Description>

    <rdf:Description rdf:about="#Walt">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Walt</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#person"/>
        </rdf:type>
        <ns0:has_pet rdf:resource="#Huey"/>
        <ns0:has_pet rdf:resource="#Dewey"/>
        <ns0:has_pet rdf:resource="#Louie"/>
    </rdf:Description>

    <rdf:Description rdf:about="#The+Guardian">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>The Guardian</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#broadsheet"/>
        </rdf:type>
    </rdf:Description>

    <rdf:Description rdf:about="#Fluffy">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Fluffy</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#tiger"/>
        </rdf:type>
    </rdf:Description>

    <rdf:Description rdf:about="#Minnie">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Minnie</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#elderly"/>
        </rdf:type>
        <rdf:type>
            <owl:Class rdf:about="#female"/>
        </rdf:type>
        <ns0:has_pet rdf:resource="#Tom"/>
    </rdf:Description>

    <rdf:Description rdf:about="#Dewey">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Dewey</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#duck"/>
        </rdf:type>
    </rdf:Description>

    <rdf:Description rdf:about="#Kevin">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Kevin</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#person"/>
        </rdf:type>
    </rdf:Description>

    <rdf:Description rdf:about="#Louie">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Louie</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#duck"/>
        </rdf:type>
    </rdf:Description>

    <rdf:Description rdf:about="#The42">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>The42</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#bus"/>
        </rdf:type>
        <ns0:service_number rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">42</ns0:service_number>
    </rdf:Description>

    <rdf:Description rdf:about="#Tibbs">
        <rdfs:comment></rdfs:comment>
        <rdfs:label>Tibbs</rdfs:label>
        <rdf:type>
            <owl:Class rdf:about="#cat"/>
        </rdf:type>
    </rdf:Description>

</rdf:RDF>
