Slides used in an advanced OWL tutorial in 2012. The tutorial is based on family history and uses OWL individuals as a first class citizen in the learning.
Properties and Individuals in OWL: Reasoning About Family History
1. Properties and Individuals in OWL: Reasoning
About Family History
Robert Stevens and Simon Jupp
BioHealth Informatics Group
University of Manchester
Robert.Stevens@manchester.ac.uk
2. Introduction
• Pizza tutorial teaches the basics of OWL
• Using automated reasoning to build a sophisticated
T Box.
• Not much use of property hierarchies, domain and
range constraints, property characteristics etc.
• Especially not much use of individuals
• This tutorial does all this along with some OWL2
features
• An illustrated tutorial that you can follow
3. Learning Objectives
• The separation in to TBox and ABox
• The separation of classes and individuals and how to
make the decision
• Asserting facts about individuals
• The effects of property hierarchies, property
characteristics, domain/range constraints and role
chains on inferences about individuals
• The consequences of the open world assumption
• The use of nominals
• Some limits of OWL2
4. Why Family History?
• Family history rich with relationships
• Easy to have both a class and instance level
• Everyone has a family, even if it is unknown
• Assumption of a conventional western family
structure
6. What is a Person?
• A Person must have two parents
• A person necessarily has one mother and one
father
• A person necessarily has one birth year
• A person necessarily has ancestors
• A person can have other relations
• All these relationships are deterministic
7. A Simple View on Sex
• This is a simple view on sex that will suffice
Person Sex
MaleFemaleMan Woman
hasSex
isA isA
8. Definitions of Man and Woman
Class: Man
EquivalentTo: Person
that hasSex some Male
• hasSex is Functional
9. Instances of Man and Woman
Individual: robert_david_stevens_1965
Types:
Man
Individual: david_stevens_1934
Types:
Person that hasSex some Male
• Class assertion on an individual
• Indicates to which class an individual belongs
10. TBox and ABox
• TBox – terminology box
• ABox – assertion box
• Historic terms
• TBox – classes (“schema”)
• ABox – individuals (“data”)
• Can have many, changing, ABoxes with one TBox
11. A Bit more Terminology
• Individual, instance, object
• Property, role
• Successor or filler of a property
• Qualifiers: SOME, ONLY, Cardinality
• Class assertion and individual assertion
robert hasBrother some richard
Individual Property Qualifier Successor
12. Demo 1
• Open Family-tree-0.owl
• Individuals: plain-individuals.owl
13. Asserting Parentage
• What do we know about each and every Person?
• Each and every Person has exactly two Parents
• Again, we take a simple, biological view, of parentage
for the moment
• Simply by asserting that
robert_david_stevens_1965 is a Person we
know he has two parents, one mother and one father
14. Functional Characteristic
ObjectProperty: hasMother
Domain: Person
Range: Woman
Characteristics: Functional
Inverses: motherOf
• What do we know about the inverse?
• motherOf has domain Woman
• A Woman can be motherOf more than one Person
• So inverse is not necessarily functional
• The super-property, hasParent, is also not functional
• A Person has more than one parent
• Always think about individuals
16. Domain and Range
• Any individual holding the motherOf property can be
inferred to be of type Woman
• The domain constraint is a strong statement
• The range constraint means only individuals of that
type can be successors to the property; act as fillers
• Both can drive inference
• Domain and range can be inferred for the inverse
(and are swapped)
17. Inverse Functional Characteristic
• motherOf is not functional as one Woman can hold
this property more than once
• The inverse hasMother is function
• The inverse of motherOf is functional: It is inverse
functional motherOf (invFunc)
margaret
richard
robert
motherOf (invFunc)
hasMother (func)
19. Irreflexive Characteristic
• An individual holding this property never holds it with
itself
• One is never ones own father, but can be the father
of others
• By implication the inverse is also irreflexive
brotherOf
Robert_david_stevens_1965 Richard_stevens_1941
brotherOf
20. Symmetric Characteristic
• The inverse of the property is the same
• If x is the sibling of y, then y is the sibling of x
• The property is its own inverse
siblingOf
Robert_david_stevens_1965 Richard_stevens_1941
siblingOf
21. Asymmetric Characteristic
• If x holds a property r with y
• Then y cannot hold that property with x
hasFather
Robert_david_stevens_1965 David_stevens_1941
HasFather
22. Transitive Characteristic
• If x holds property r with y and y holds property r
with z then x holds property r with z
• The relationship is propagated along the chain
• The inverse is also implied
Robert_david_stevens_1965 David_stevens_1941
hasAncestor
William_george_stevens
hasAncestor
hasAncestor
23. Should I Say it Just Because it is True
• Not necessarily
• Ask what implications it drives
• Also ask if the characteristic is always the case
• Sometimes it scuppers the reasoners
24. Property Hierarchies
• We can say that one property is the sub-property of
another property
motherOf SubPropertyOf parentOf
• A property can be the sub-property of more than one
property
• Can drive many inferences
• An individual holding motherOf also holds
parentOf
• And so on until the root property
25. Inferences about Properties
• Run reasoner and see what we know about
motherOf and hasMother
• Show domains and ranges inferred
• See property hierarchy filled in
26. What do we Know of an Instance of Man?
• By giving an individual the type Man we know:
– He hasSex Male
– He has only one mother, who is a Woman
– Has only one father, who is a Man
– He has a birth year
Even if we don’t know their values
The restrictions say what must be true of an individual of that
type
By asserting the individual’s type to be Man, we know these
thing to be true
These facts are implied or entailed
There are many things that could be true of this individual, but
these things must be true
29. Demo 4
• Infer which family members were Victorians
• Born between 1837-1901
30. Inferring One’s Ancestors
• My parents parents are my ancestors etc..
• Create a new super-property of hasParent, make it
transitive
• Now, hasAncestor is implied by hasParent; it is
entailed
• hasAncestor forms a path
Robert_david_stevens_1965 David_stevens_1941
hasAncestor
William_george_stevens
hasAncestor
hasAncestor
32. David is Father of Robert
Individual: david_stevens_1934
Facts:
hasFather william_george_stevens_1901
hasMother iris_ellen_bowmaker_1907,
fatherOf robert_david_stevens_1965,
fatherOf richard_john_stevens_1962
• What type does david_stevens_1934 have?
• How many children does he have?
• Where in the hierarchy would be put hasForeFather?
34. What is a Grandparent?
• We have parentage asserted
• Can we infer grandparents?
• A grandparent is a parent of my parent.
• Don’t want transitivityon hasParent…
• Otherwise my grandfather becomes my father etc…
• Want local transitivity
35. SubProperty Chains
ObjectPropety: hasGrandparent
Domain: Person
Range: Person
SubPropertyChain: hasParent o hasParent
• The chain hasParent followed by hasParent implies
hasGrandparent
• This forms a path
• As usual, think of the individuals
Robert_david_stevens_1965 David_stevens_1941
hasParent
William_george_stevens
hasParent
hasGrandParent
36. Grandfathers
ObjectProperty: hasGrandfather
Domain: Person
Range: Man
SubPropertyChain: hasParent o hasFather
• hasParent followed by hasFather implies
hasGrandfather
Robert_david_stevens_1965 David_stevens_1941
hasParent
William_george_stevens
hasFather
hasGrandFather
38. Great Grandparents etc.
ObjectProperty: hasGreatGrandParent
SubPropertyChain: hasGrandParent o hasParent
• My grandparents parents are my great grandparents
Robert_david_stevens_1965 William_geogre_stevens_1941
hasGrandParent
Henry_edmond_stevens
hasParent
hasGreatGrandParent
39. Superproperties of grandparent Properties
• Are hasGrandparent and hasGreatGrandparent etc.
subproperties of hasParent?
• Think about the implications at the level of individuals
• Robert hasGrandParent william George
• Robert hasGrandParent Iris Ellen
• Does the fact that robert hasGrandfather William
George imply he hasGrandparent William George?
• Does this imply Robert hasParent William George?
• All great grandparents are also grandparents
• Is greatGrandParentOf a sub-property of
grandParentOf?
40. Hierarchies of Parentage Relationships
• Where do these parentage relationships go?
• All grandparents and great-grandparents are also
parents
• All grandfathers are fathers
• All great grandparents are grandparents
• Should these parentage relationships like
hasGrandparent be in a hierarchy underneath
hasParent?
42. Using Individuals in Class Expressions
• The class of all Ancestor is easy
How about AncestorOfRobertStevens?
Class: AncestorOfRobert
EquivalentTo: Person
that ancestorOf value robert_david_stevens_1965
• robert_david_stevens_1965 is a nominal
• Instead of simply saying an individual from this class, we specify
the individual
{robert_david_stevens} is the class containing Robert David
Stevens
• {robert, richard} is the class with richard and robert in it
44. OWL uses an open world assumption
• Just because something hasn’t been said doesn’t
mean it isn’t true
• hasMother is functional, so we know that property
can only be held once
• Do we know robert’s only brother is Richard?
• We’ve said robert has a brother richard
• We simply don’t know unless we limit the number of
brothers
• brotherOf only {richard} as a class assertion
45. The Open World and Individuals
• Ask for Woman that is motherOf min 3 Person
• What do we expect to happen?
• What does the KB tell us about the children of
robert_david_stevens_1965?
• Just because we haven’t said he has children,
doesn’t mean he doesn’t have any?
46. What about my Uncle John?
• My Uncle John has four children
• Asking:
Man that fatherOf min 4 Person
doesn’t find my uncle
• Why not?
• We haven’t told the KB that the four individuals
asserted are actually different
• In a Web environment, the same individual may be
described at many locations with more than one URI
• owl:differentFrom and owl:sameAs
• Make all individuals different
47. Can infer that Individuals are Different
• If we have three individuals with different birth years
• And hasBirthYear is functional
• Then we can infer those individuals are different
without stating it directly
48. Brothers
• Only done parentage so far
• David is brother of John
• John is brother of Peter
• Is brotherOf transitive?
• Domain of brotherOf is Man
• What is the range?
• William George is brotherOf Charlotte
• So range must be person
• William George brotherOf Charlotte
• Charlote hasBrother William George
49. Siblings
• brotherOf and sisterOf both sub-properties of
siblingOf
• siblingOf is symmetric and transitive
• Unlike brother and sister, the inverse holds
• William George is sibling of Charlotte
• Charlotte is sibling of William George
50. Brothers and Siblings
• All inferred to be siblings of each other
david
peter
john
brotherOf
brotherOf
siblingOf
hasBrother
hasBrother
51. Demo 10
• Familt-tree-6.owl
• Individuals-sibling.owl
• Siblings
• We can only infer that Peter and John are siblings
• brotherOf has domain Man and range Person
• Even if we know Peter is a Man (he is fatherOf
james) Man & siblingOf doesn’t imply brotherOf
52. Aunts and Uncles
ObjectProperty: uncleOf
SubPropertyChain: brotherOf o fatherOf
• My parents siblings are my aunts and uncles
• Cannot count with hasUncle
David
brotherOf
Robert
fatherOf
uncleOf
John
54. A Lesson on Cousins
• First cousins share a grandparent, but not a parent
Second cousins share a great grandparent, but not a
grandparent
• Third cousins share a great great grandparent, but
not a great grandparent
• Degree gives closest common ancestor
• Remove gives generation
• My first cousins children are my first cousin once
removed
• Our common ancestor are my grandparents, but
there is an added generation
55. Characteristics of Cousin
• Symmetric: robert firstCousinOf James
• James firstCousinOf Robert
• Not transitive
• James’s cousins are not my cousins (at least, not all
of them…)
56. Sub-Property Chain for firstCousinOf
ObjectProperty: firstCousinOf
SubPropertyChain: hasParent o siblingOf o parentOf
• My parents sibs are my aunts and uncles
• Their children are my first cousins
• Our common ancestor are my grandparents
David
hasParent
Peter
siblingOf
firstCousinOf
Robert James
parentOf
57. Who are Robert’s First Cousins?
• Mart, Ian, Janet, william, Robert, richard, James, Clare, Julie,
Mark, Nicholas
• Robert and Richard!
• I’m my own cousin and so is my brother
• My father is his own brother!
• siblingOf is symmetric and transitive
• David siblingOf John
• John siblingOf David
• There is path from David to David via John
• So David is David’s brother
• Making siblingOf irreflexive is a contradiction!
• Inferences about cousins doesn’t work
59. Simple and Complex Properties
• Properties can be either simple or complex
• Some of our properties are complex
• ancestorOf, uncleOf, parentOf…
• Can’t do some thing with complex properties
60. Complex roles
• A property is complex when it forms a path
• Transitivity or sub-property chains form a path
David
brotherOf
Robert
fatherOf
uncleOf
John
Robert David
hasAncestor
William
hasAncestor
hasAncestor
Path
61. Complex roles and Counting
• Counting i.e. cardinality; max 3, min 2, etc
• One cannot count with complex properties
• ancestorOf min 3 people doesn’t work
• hasAncestor is complex; it forms a path
• parentOf min 3 Person does work as parentOf is
simple
62. What one can do with SubProperty chains
• The pattern:
sub-property chain o property works chain
hasGrandParent o hasParent hasGreatGrandparent
• will work
hasParent o hasGrandParent hasGreatGrandpaernt
• will not
63. Marriage
ObjectProperty: hasWife
SubPropertyChain: malePartnerIn o hasFemalePartner
• Want only one wife at a time
• Needs some more sophisticated modelling of time – functionality
will not do
Marriage_m_and_d
David
Margaret
hasMalePartnerIn
hasFemalePartnerIn
hasWife
malePartnerIn
femalePartnerIn
65. Extending aunt and uncle
• Now we have spouses we can do aunts and uncles
by marriage
• UncleOf implied by husbandOf o sisterOf o parentOf
• We can have more than one sub-property chain per
property
66. What Works
• Most things except cousins
• Full and half sibs don’t work
• Need some rules
• Also, using properties such as grandparentOf and
greatGrantParentOf in class expressions doesn’t
always give the desired TBox
• OWL2 features very powerful, but there are
limitations
67. Should we Use OWL for this?
• Relational databases and/or Prolog do family history
much better than OWL
• Very regular and complete knowledge
• In some ways OWL not good for this domain
• Good for teaching about inviduals and properties
• More irregular and implete things can be hung off
family history
• Roles, processes…
69. Reflexive Characteristic
• The reflexive property means an individual holding
this property always holds it with itself
• One is always one of one’s own relations
• By implication the inverse of hasRelation is also
reflexive
• Proper part of is not reflexive
hasRelation
Robert_david_stevens_1965 Margaret_stevens_1941
hasRelation