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
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: 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.
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.
(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.
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.
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.
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.
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
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.
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.
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).
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.