People Ontology

An ontology about people is available in RDF/XML. It is also shown below in Manchester OWL Syntax format.

Namespace: owl = <http://www.w3.org/2002/07/owl#>
Namespace:  = <http://owl.cs.manchester.ac.uk/2009/07/sssw/people#>

Ontology: <http://owl.cs.manchester.ac.uk/2009/07/sssw/people>

/**********************************
 * Properties
 **********************************/

ObjectProperty: is_pet_of
    Annotations: 
        rdfs:label "is_pet_of"
    InverseOf: 
        has_pet

ObjectProperty: eats
    Annotations: 
        rdfs:label "eats",
    Domain: 
        animal
    InverseOf: 
        eaten_by

ObjectProperty: has_child
    Annotations: 
        rdfs:label "has child",

ObjectProperty: reads
    Annotations: 
        rdfs:label "reads"
    Range: 
        publication

ObjectProperty: part_of
    Annotations: 
        rdfs:label "part of",
    InverseOf: 
        has_part

ObjectProperty: drives
    Annotations: 
        rdfs:label "drives"

ObjectProperty: has_mother
    Annotations: 
        rdfs:label "has mother",
    Range: 
        woman
    SubPropertyOf: 
        has_parent

ObjectProperty: has_pet
    Annotations: 
        rdfs:label "has pet",
        rdfs:comment "Anyone that has a pet must like that pet."
    Domain: 
        person
    Range: 
        animal
    InverseOf: 
        is_pet_of
    SubPropertyOf: 
        likes

ObjectProperty: has_part
    Annotations: 
        rdfs:label "has part"
    InverseOf: 
        part_of

ObjectProperty: eaten_by
    Annotations: 
        rdfs:label "eaten by"
    InverseOf: 
        eats

ObjectProperty: works_for
    Annotations: 
        rdfs:label "works for",

ObjectProperty: has_father
    Annotations: 
        rdfs:label "has father",
    Range: 
        man
    SubPropertyOf: 
        has_parent
    
ObjectProperty: has_parent
    Annotations: 
        rdfs:label "has_parent"

ObjectProperty: likes
    Annotations: 
        rdfs:label "likes"

/**********************************
 * Classes
 **********************************/

Class: cat_owner
    Annotations: 
        rdfs:label "cat owner"
    EquivalentTo: 
        person
        that has_pet some cat

Class: lorry
    Annotations: 
        rdfs:label "lorry",
    SubClassOf: 
        vehicle
    
Class: haulage_worker
    Annotations: 
        rdfs:label "haulage worker"
    EquivalentTo: 
        works_for some (haulage_company
                        or part_of some haulage_company)
    
Class: female
    Annotations: 
        rdfs:label "female"

Class: man
    Annotations: 
        rdfs:label "man"
    EquivalentTo: 
        adult
        and male
        and person

Class: bus_company
    Annotations: 
        rdfs:label "bus company",
    SubClassOf: 
        company
    
Class: truck
    Annotations: 
        rdfs:label "truck",
    SubClassOf: 
        vehicle

Class: giraffe
    Annotations: 
        rdfs:label "giraffe"
    SubClassOf: 
        animal,
        eats only leaf
    
Class: person
    Annotations: 
        rdfs:label "person",
    SubClassOf: 
        animal

Class: white_van_man
    Annotations: 
        rdfs:comment "A white van man is a man who drives a white van.",
        rdfs:label "white van man"
    EquivalentTo: 
        man
        that drives some (van
        and white_thing)
    SubClassOf: 
        reads only tabloid
    
Class: broadsheet
    Annotations: 
        rdfs:comment "A newspaper. Broadsheets are usually considered to be more "high-brow" than tabloids.",
        rdfs:label "broadsheet"
    SubClassOf: 
        newspaper
    DisjointWith: 
        tabloid

Class: animal_lover
    Annotations: 
        rdfs:label "animal lover",
        rdfs:comment "Someone who really likes animals"
    EquivalentTo: 
        person
        that has_pet min 3 owl:Thing
    
Class: quality_broadsheet
    Annotations: 
        rdfs:label "quality broadsheet",
    SubClassOf: 
        broadsheet

Class: woman
    Annotations: 
        rdfs:label "woman"
    EquivalentTo: 
        adult
        and female
        and person
    
Class: male
    Annotations: 
        rdfs:comment "The class of all male things.",
        rdfs:label "male"

Class: young
    Annotations: 
        rdfs:label "young",
    DisjointWith: 
        adult

Class: driver
    Annotations: 
        rdfs:label "driver"
    EquivalentTo: 
        person
        that drives some vehicle
    SubClassOf: 
        adult

Class: mad_cow
    Annotations: 
        rdfs:comment "A mad cow is a cow that has been eating the brains of sheep.",
        rdfs:label "mad cow"
    EquivalentTo: 
        cow
        that eats some (brain
        that part_of some sheep)

Class: van
    Annotations: 
        rdfs:label "van",
    SubClassOf: 
        vehicle
    
Class: car
    Annotations: 
        rdfs:label "car",
    SubClassOf: 
        vehicle
    
Class: lorry_driver
    Annotations: 
        rdfs:label "lorry driver"
    EquivalentTo: 
        person
        that drives some lorry

Class: dog
    Annotations: 
        rdfs:label "dog",
    SubClassOf: 
        eats some bone
    DisjointWith: 
        cat

Class: bicycle
    Annotations: 
        rdfs:label "bicycle",
        rdfs:comment "A human propelled vehicle, with two wheels"
    SubClassOf: 
        vehicle

Class: pet
    Annotations: 
        rdfs:label "pet",
    EquivalentTo: 
        is_pet_of some owl:Thing

Class: adult
    Annotations: 
        rdfs:label "adult",
        rdfs:comment "Things that are adult."
    DisjointWith: 
        young
    
Class: company
    Annotations: 
        rdfs:label "company"

Class: animal
    Annotations: 
        rdfs:label "animal"
    SubClassOf: 
        eats some owl:Thing

Class: duck
    Annotations: 
        rdfs:label "duck",
    SubClassOf: 
        animal

Class: newspaper
    Annotations: 
        rdfs:label "newspaper",
        rdfs:comment "All newspapers are either broadsheets or tabloids."
    SubClassOf: 
        publication,
        broadsheet
        or tabloid

Class: owl:Thing

Class: leaf
    Annotations: 
        rdfs:label "leaf",
    SubClassOf: 
        part_of some tree

Class: sheep
    Annotations: 
        rdfs:label "sheep"
    SubClassOf: 
        animal,
        eats only grass

Class: brain
    Annotations: 
        rdfs:label "brain",

Class: old_lady
    Annotations: 
        rdfs:label "old lady",
    EquivalentTo: 
        elderly
        and female
        and person
    SubClassOf: 
        has_pet some animal
        and has_pet only cat

Class: grownup
    Annotations: 
        rdfs:label "grownup"
    EquivalentTo: 
        adult
        and person

Class: bus_driver
    Annotations: 
        rdfs:label "bus driver",
        rdfs:comment "Someone who drives a bus."
    
    EquivalentTo: 
        person
        that drives some bus

Class: red_top
    Annotations: 
        rdfs:label "red top",
    SubClassOf: 
        tabloid

Class: van_driver
    Annotations: 
        rdfs:label "van driver"
    EquivalentTo: 
        person
        that drives some van

Class: bus
    Annotations: 
        rdfs:label "bus",
    SubClassOf: 
        vehicle

Class: bone
    Annotations: 
        rdfs:label "bone"

Class: plant
    Annotations: 
        rdfs:label "plant"

Class: grass
    Annotations: 
        rdfs:label "grass",
    SubClassOf: 
        plant

Class: haulage_truck_driver
    Annotations: 
        rdfs:label "haulage truck driver",
    EquivalentTo: 
        person
        that drives some truck
        and works_for some (part_of some haulage_company)

Class: vehicle
    Annotations: 
        rdfs:label "vehicle"

Class: tabloid
    Annotations: 
        rdfs:comment "A newspaper. Tabloids are usually thought of as more "down-market" than broadsheets.",
        rdfs:label "tabloid"
    SubClassOf: 
        newspaper
    DisjointWith: 
        broadsheet

Class: tree
    Annotations: 
        rdfs:label "tree"
    SubClassOf: 
        plant

Class: dog_owner
    Annotations: 
        rdfs:label "dog owner"
    EquivalentTo: 
        person
        that has_pet some dog

Class: tiger
    Annotations: 
        rdfs:label "tiger"
    SubClassOf: 
        animal

Class: kid
    Annotations: 
        rdfs:label "kid"
    EquivalentTo: 
        person
        and young

Class: cat
    Annotations: 
        rdfs:label "cat",
    SubClassOf: 
        animal
    DisjointWith: 
        dog
    
Class: cow
    Annotations: 
        rdfs:comment "Cows are naturally vegetarians.",
        rdfs:label "cow"
    SubClassOf: 
        vegetarian

Class: publication
    Annotations: 
        rdfs:label "publication",

Class: haulage_company
    Annotations: 
        rdfs:label "haulage company"
    SubClassOf: 
        company

Class: dog_liker
    Annotations: 
        rdfs:label "dog liker"
    EquivalentTo: 
        person
        that likes some dog

Class: cat_liker
    Annotations: 
        rdfs:label "cat liker",
    EquivalentTo: 
        person
        that likes some cat

Class: magazine
    Annotations: 
        rdfs:label "magazine"
    SubClassOf: 
        publication
    
Class: pet_owner
    Annotations: 
        rdfs:label "pet owner"
    EquivalentTo: 
        person
        that has_pet some animal

Class: white_thing
    Annotations: 
        rdfs:label "white thing"

Class: vegetarian
    Annotations: 
        rdfs:comment "A vegetarian is defined as an animal that eats no other animals, or parts of animals.",
        rdfs:label "vegetarian"
    EquivalentTo: 
        animal
        that eats only (not (animal))
        and eats only (not (part_of some animal))

Class: elderly
    Annotations: 
        rdfs:label "elderly",
    SubClassOf: 
        adult

/**********************************
 * General Axioms
 **********************************/

Disjoint: animal or (part_of some animal),
          plant or (part_of some plant)

/**********************************
 * Individuals
 **********************************/

Individual: Walt
    Annotations: 
        rdfs:label "Walt"
    Types: 
        person
    Facts: 
        has_pet  Dewey,
        has_pet  Huey,
        has_pet  Louie
    
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Huey, Joe,
        Kevin, Louie, Mick, Minnie, Q123ABC, Rex,
        TheGuardian, TheSun, TheTimes, Tibbs

Individual: Fido
    Annotations: 
        rdfs:label "Fido",
    Types: 
        dog
    DifferentFrom: 
        Dewey, Flossie, Fluffy, Fred, Huey, Joe,
        Kevin, Louie, Mick, Minnie, Q123ABC, Rex,
        TheGuardian, TheSun, TheTimes, Tibbs, Walt
    
Individual: Dewey
    Annotations: 
        rdfs:label "Dewey"
    Types: 
        duck
    DifferentFrom: 
        Fido, Flossie, Fluffy, Fred, Huey, Joe,
        Kevin, Louie, Mick, Minnie, Q123ABC, Rex,
        TheGuardian, TheSun, TheTimes, Tibbs, Walt
    
Individual: Fluffy
    Annotations: 
        rdfs:label "Fluffy",
    Types: 
        tiger
    DifferentFrom: 
        Dewey, Fido, Flossie, Fred, Huey, Joe,
        Kevin, Louie, Mick, Minnie, Q123ABC, Rex,
        TheGuardian, TheSun, TheTimes, Tibbs, Walt

Individual: Daily_Mirror
    Annotations: 
        rdfs:label "Daily Mirror",
        rdfs:comment "The paper read by Mick."
    Types: 
        owl:Thing

Individual: Kevin
    Annotations: 
        rdfs:label "Kevin",
    Types: 
        person
    Facts: 
        has_pet  Flossie,
        has_pet  Fluffy
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Huey, Joe,
        Louie, Mick, Minnie, Q123ABC, Rex, TheGuardian,
        TheSun, TheTimes, Tibbs, Walt
    
Individual: Fred
    Annotations: 
        rdfs:label "Fred",
    Types: 
        person
    Facts: 
        has_pet  Tibbs
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Huey, Joe,
        Kevin, Louie, Mick, Minnie, Q123ABC, Rex, TheGuardian,
        TheSun, TheTimes, Tibbs, Walt

Individual: TheTimes
    Annotations: 
        rdfs:label "The Times",
    Types: 
        broadsheet
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Huey,
        Joe, Kevin, Louie, Mick, Minnie, Q123ABC,
        Rex, TheGuardian, TheSun, Tibbs, Walt
    
Individual: Spike
    Annotations: 
        rdfs:label "Spike",
    Types: 
        owl:Thing
    Facts: 
        is_pet_of  Pete

Individual: Louie
    Annotations: 
        rdfs:label "Louie",
    Types: 
        duck
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Huey, Joe,
        Kevin, Mick, Minnie, Q123ABC, Rex, 
        TheGuardian, TheSun, TheTimes, Tibbs, Walt
    
Individual: Tibbs
    Annotations: 
        rdfs:label "Tibbs",
    Types: 
        cat
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Huey,
        Joe, Kevin, Louie, Mick, Minnie, Q123ABC, Rex,
        TheGuardian, TheSun, TheTimes, Walt

Individual: Tom
    Annotations: 
        rdfs:label "Tom"
    Types: 
        owl:Thing

Individual: Flossie
    Annotations: 
        rdfs:label "Flossie"
    Types: 
        cow
    DifferentFrom: 
        Dewey, Fido, Fluffy, Fred, Huey, Joe,
        Kevin, Louie, Mick, Minnie, Q123ABC, Rex,
        TheGuardian, TheSun, TheTimes, Tibbs, Walt
    
Individual: Rex
    Annotations: 
        rdfs:label "Rex",
    Types: 
        dog
    Facts: 
        is_pet_of  Mick
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Huey,
        Joe, Kevin, Louie, Mick, Minnie, Q123ABC,
        TheGuardian, TheSun, TheTimes, Tibbs, Walt

Individual: Joe
    Annotations: 
        rdfs:label "Joe",
    Types: 
        person,
        has_pet max 1 owl:Thing
    Facts: 
        has_pet  Fido
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Huey,
        Kevin, Louie, Mick, Minnie, Q123ABC, Rex,
        TheGuardian, TheSun, TheTimes, Tibbs, Walt

Individual: Pete
    Annotations: 
        rdfs:label "Pete",
    Types: 
        owl:Thing

Individual: TheGuardian
    Annotations: 
        rdfs:label "The Guardian"
    Types: 
        broadsheet
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Huey,
        Joe, Kevin, Louie, Mick, Minnie, Q123ABC,
        Rex, TheSun, TheTimes, Tibbs, Walt

Individual: TheSun
    Annotations: 
        rdfs:label "The Sun",
    Types: 
        tabloid
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Huey,
        Joe, Kevin, Louie, Mick, Minnie, Q123ABC,
        Rex, TheGuardian, TheTimes, Tibbs, Walt
    
Individual: Minnie
    Annotations: 
        rdfs:label "Minnie",
    Types: 
        elderly,
        female
    Facts: 
        has_pet  Tom
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Huey,
        Joe, Kevin, Louie, Mick, Q123ABC, Rex,
        TheGuardian, TheSun, TheTimes, Tibbs, Walt

Individual: Q123ABC
    Annotations: 
        rdfs:label "Q123 ABC",
        rdfs:comment "A white van"
    Types: 
        van,
        white_thing
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Huey,
        Joe, Kevin, Louie, Mick, Minnie, Rex,
        TheGuardian, TheSun, TheTimes, Tibbs, Walt
    
Individual: Mick
    Annotations: 
        rdfs:comment "Mick is male and drives a white van.",
        rdfs:label "Mick"
    Types: 
        male
    Facts: 
        reads  Daily_Mirror,
        drives  Q123ABC
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Huey,
        Joe, Kevin, Louie, Minnie, Q123ABC, Rex,
        TheGuardian, TheSun, TheTimes, Tibbs, Walt
    
Individual: Huey
    Annotations: 
        rdfs:label "Huey"
    Types: 
        duck
    DifferentFrom: 
        Dewey, Fido, Flossie, Fluffy, Fred, Joe,
        Kevin, Louie, Mick, Minnie, Q123ABC, Rex,
        TheGuardian, TheSun, TheTimes, Tibbs, Walt
    

Note on Cultural References

For those not familiar with UK culture, White Van Man is a stereotype used to describe a particular kind of driver. Wikipedia provides an entry with some additional information and references.

Class Inferences

Bus Drivers are Drivers.
Class: bus_driver
    EquivalentTo: 
        person
        that drives some bus

Class: driver
    EquivalentTo: 
        person
        that drives some vehicle

Class: bus
    SubClassOf: 
        vehicle

The subclass is inferred due to subclasses being used in existential quantification.

Cat Owners like Cats
Class: cat_owner
    EquivalentTo: 
        person
        that has_pet some cat

ObjectProperty: has_pet
    SubPropertyOf: 
        likes

Class: cat_liker
    EquivalentTo: 
        person
        that likes some cat

The subclass is inferred due to a subproperty assertion.

Drivers are Grown Ups

(Note: A grown up is an adult person)

Class: driver
    EquivalentTo: 
        person
        that drives some vehicle
    SubClassOf: 
        adult

Class: grownup
    EquivalentTo: 
        adult
        and person

An example of axioms being used to assert additional necessary information about a class. We do not need to know that a driver is an adult in order to recognize one, but once we have recognized a driver, we know that they must be adult.

Sheep are Vegetarians
Class: sheep
    SubClassOf: 
        animal,
        eats only grass

Class: grass
    SubClassOf: 
        plant

Disjoint: animal or (part_of some animal),
          plant or (part_of some plant)

Class: vegetarian
    EquivalentTo: 
        animal
        that eats only (not (animal))
        and eats only (not (part_of some animal))

Note the complete definition, which means that we can recognise when things are vegetarians.

Giraffes are Vegetarians
Class: giraffe
    SubClassOf: 
        animal,
        eats only leaf

Class: leaf
    SubClassOf: 
        part_of some tree

Class: tree
    SubClassOf: 
        plant

Disjoint: animal or (part_of some animal),
          plant or (part_of some plant)

Class: vegetarian
    EquivalentTo: 
        animal
        that eats only (not (animal))
        and eats only (not (part_of some animal))

Similar to the previous example with the additional inference provided by the existential restriction in the definition of leaf.

Old Ladies own Cats
Class: old_lady
    EquivalentTo: 
        elderly
        and female
        and person
    SubClassOf: 
        has_pet some animal
        and has_pet only cat

Class: cat_owner
    EquivalentTo: 
        person
        that has_pet some cat

An example of the interaction between an existential quantification (asserting the existence of a pet) and a universal quantification (constraining the types of pet allowed).

This also illustrates that an ontology is one view on the world — you may disagree with my modelling but I am being explicit about it.

Mad Cows are inconsistent
Class: cow
    SubClassOf: 
        vegetarian

Disjoint: animal or (part_of some animal),
          plant or (part_of some plant)

Class: vegetarian
    EquivalentTo: 
        animal
        that eats only (not (animal))
        and eats only (not (part_of some animal))

Class: mad_cow
    EquivalentTo: 
        cow
        that eats some (brain
        that part_of some sheep)

Class: sheep
    SubClassOf: 
        animal,
        eats only grass

Thus a mad cow has been eating part of an animal, which is inconsistent with the definition of a vegetarian

Instance Inferences

The Daily Mirror is a Tabloid
Individual: Daily_Mirror
    Types: 
        owl:Thing

Individual: Mick
    Types: 
        male
    Facts: 
        reads  Daily_Mirror,
        drives  Q123ABC

Individual: Q123ABC
    Types: 
        van,
        white_thing

Class: white_van_man
    EquivalentTo: 
        man
        that drives some (van
        and white_thing)
    SubClassOf: 
        reads only tabloid

Here we see interaction between complete and partial definitions plus a universal quantification allowing an inference about a role filler.

Pete is a Person, Spike is an Animal
Individual: Spike
    Types: 
        owl:Thing
    Facts: 
        is_pet_of  Pete

Individual: Pete
    Types: 
        owl:Thing

ObjectProperty: has_pet
    Domain: 
        person
    Range: 
        animal
    InverseOf: 
        is_pet_of
    SubPropertyOf: 
        likes

Here we see an interaction between an inverse relationship and domain and range constraints on a property. The domain of a property is the range of its inverse and the range of a property is the domain of its inverse.

Walt loves animals
Individual: Walt
    Types: 
        person
    Facts: 
        has_pet  Dewey,
        has_pet  Huey,
        has_pet  Louie
    
Individual: Huey
    Types: 
        duck
    DifferentFrom: Dewey, Louie

Individual: Dewey
    Types: 
        duck
    DifferentFrom: Huey, Louie

Individual: Louie
    Types: 
        duck
    DifferentFrom: Huey, Dewey

Class: animal_lover
    EquivalentTo: 
        person
        that has_pet min 3 owl:Thing

Note that in this case, we don't actually need to include person in the definition of animal lover (as the domain restriction will allow us to draw this inference).

Tom is a Cat
Individual: Minnie
    Types: 
        elderly,
        female
    Facts: 
        has_pet  Tom

Individual: Tom
    Types: 
        owl:Thing

ObjectProperty: has_pet
    Domain: 
        person
    Range: 
        animal
    InverseOf: 
        is_pet_of
    SubPropertyOf: 
        likes

Class: old_lady
    EquivalentTo: 
        elderly
        and female
        and person
    SubClassOf: 
        has_pet some animal
        and has_pet only cat

Here the domain restriction gives us additional information which then allows us to infer a more specific type. The universal quantification then allows us to infer information about the role filler.