Title: Ontology design patterns
1Ontology design patterns
- Value sets
- QCRs
- N-ary relations
- Part-whole relations
- Cleaning hierarchies
2Exercise
- We want to describe the color of historic clothes
in a museum - Hot to specify the range of hasColor?
- Do you use a OWL restriction or a RDFS range
definition to define constraint?
3Value sets for specifying values
- A quality SexValue
- Individuals for each value
- male, female
- Values all different (NOT assumed by OWL)
- Value type is enumeration of values
- SexValue male, female
- A functional property hasSex
- MaleAnimal Animal and hasSex is male
4Value Partitions example Age Group
- How to represent the values for Age Group?
- Option
- specify Child, Toddler, etc. as subclasses of
AgeGroup - Specify age-group values as instances of the
relevant age-group class - exMyAgeGroup rdftype exAdult .
- Main advantage flexibility
5OWL restrictions and why rdfsdomain/range is
considered harmful
6Example restriction red wines must have a red
color
- RedWine
- a owlClass
- rdfssubClassOf
- a owlRestriction
- owlonProperty color
- owlhasValue redxsdstring
- .
7OWL vs. UML class modeling
- OWL properties vs. UML associations attributes
- OWL properties have a direction
- OWL properties are binary relations
- OWL\properties are first-class citizens (global
scope) - OWL classes vs. UML classes
- OWL classes have no operations
- OWL classes can have sufficient conditions
- Primitive vs. defined classes
8OWL restriction Artefact
9Ontological commitment
- Each statement in an ontology commits the user to
a particular view of the domain. - Over-commitment definition in an ontology is
stronger than needed. - Property restrictions on classes commit to less
then rdfsdomain/range constraints - When in doubt, choose the option with the least
commitment - Be aware of cultural biases!
10OWL restriction Artist (1)
11OWL restriction Artist (2)
12Ontologies and data models
- Ontologies live in an open, distributed world
data models in a closed world - Danger of overcommitment is therefore much larger
in ontologies - Writing a model in OWL does not make it an
ontology - The ontology should be shared
13Qualified cardinality constraints
14Use case
- SelectionCommittee
- a owlClass
- rdfssubClassOf
- a owlRestriction
- owlonProperty committeeMember
- owlallValuesFrom Person
- .
- How can we define that a selection committee must
have two female members?
15Qualified cardinality restrictions (QCRs)
- Restriction on the number of values of a certain
type (hence qualified) - owlsomeValuesFrom is an example of such a
constraint - cardinality of 1 or more of a certain type of
value - Typically used to specify the component types in
some part-of structure
16Workaround for QCRs
- No direct way of modeling this in OWL
- Workaround
- Define a subproperty of the property on which you
want to define a QCR - Define a value constraint (using either
owlallValuesFrom or rdfsrange) and a
cardinality constraint on the subproperty - Cumbersome for complex part-whole relations
17Example workaround
- SelectionCommittee a owlClass
- rdfssubClassOf
- a owlRestriction
- owlonProperty committeeMemberFemale
- owlallValuesFrom FemalePerson
- rdfssubClassOf
- a owlRestriction
- owlonProperty committeeMemberFemale
- owlminCardinality "2"xsdint .
18Part-whole relations
- Simple part-whole relations in OWL Ontologies
- A foundation for composition
19Part-whole relations
- Common in many domains
- Human body, cars, installations, documents
- Different from the subclass/generalization
relation - No built-in modeling constructs in OWL
- Different types of part-whole relations exist
- With important semantic differences
- Mereology theory of part-whole
- meros is Greek for part
20UML Aggregation
- Aggregation denotes a binary association in which
one side is an "assembly" and the other side a
"part". - "Assembly" and "part" act as predefined roles
involved in the aggregation association. - Cardinality of a part can be defined
- precisely one optional (0-1) many, ...
- No semantics in UML!
21Aggregation example in UML
22UML Composition
- Sub-type of aggregation
- Existence of part depends on aggregate
23Aggregation vs. generalization
- Similarities
- Tree-like structure
- Transitive properties
- Differences
- AND-tree (aggregation) vs. OR-tree
(generalization) - instance tree (aggregation) vs. class tree
(generalization)
24Representing part-whole relations
- Part-whole relation is transitive
- If A is part of B and B is part of C then A is
part of C - But see the caveats later on
- Usually there is a a need to distinguish
- Part in a transitive sense
- Direct part
25Basic scheme
- Define a property e.g. partOf and (usually
needed) the inverse hasPart - Define a subproperty of part of partOf to
represent direct parts, e.g. partOfDirect - Choose the primary property for expressing
part-whole part of or hasPart? - partOf is generally more flexible. Why?
26Transitivity
- A subproperty of a transitive property is not by
definition transitive - Make sure you understand why
- Example direct-part properties are not transitive
27Part-whole specification with individuals
- Amsterdam a InhabitatedPlace
- partOf North-Holland .
- North-Holland a Province
- partOf Netherlands .
- Place a owlClass
- rdfssubClassOf
- a owlRestriction
- owlonProperty partOf
- owlallValuesFrom Place .
28Part-whole specification with classes
- AudioSystem hasPart
- someValuesFrom Amplifier
- someValuesFrom Loudspeaker
- someValuesFrom InputSystem
- assume CD, tuner and cassette player defined as
subclasses of input system
29Types of part-whole relations
- Based on three distinctions
- Configurability
- Functional/structural relation with the other
parts or the whole yes/no - Homeomerous
- Parts are same kind as the whole yes/no
- Invariance
- Parts can be separated from the whole
30Component-integral
- Functional/structural relation to the whole
- Parts can be removed and are different from whole
- Organization of the parts
- Examples car wheels, film scenes
- N.B. difference between wheel and car wheel
31Material-object
- Invariant configuration
- Examples
- A bicycle is partly iron
- Wine is partly alcohol
- Human body is partly water
- The made-off relation
- Relation between part and whole is not known
32Portion-object
- Homeomeric configuration of parts
- Examples
- A lice of bread is part of a loaf of bread
- A sip of coffee is part of a cup o coffee
- Portions can be quantified with standard measures
(liter, gram, ..) - Homeomeric a sip of coffee is coffee (but a
bicycle wheel is not a bicycle) - Ingredients of portion and object are the same
33Place-area
- Homeomeric invariant configuration
- Examples
- North-Holland is part of The Netherlands
- The Mont Blanc peak is part of the Mont Blanc
mountain - The head is part of the human body (?!)
- Typically between places and locations
34Member-bunch
- No configuration, no invariance, not homeomeric
- Members of a collection
- Examples
- A tree is part of a wood
- The hockey player is part of a club
- Differentiate from classification-based
collections - A tree is a member of the class of trees
35Member-partnership
- Same as member-bunch, but invariant
- If a part is removed, the whole ceases to exist
- Examples
- Bonny and Clyde
- Laurel and Hardy
- Two married people
36Confusion with non-compositional relations
- Temporal topological inclusion
- The customer is in the store, but not part of it
- Classification inclusion
- A Bond movie is an instance of film but part of
my film collection - Attribution
- The height and width of a ship are not part of
the ship - Attachment
- A wrist watch is not part of the wrist
- Ownership
- I own a bicycle but it is not part of me
37Transitivity of part-whole types
- Transitivity does not (necessarily) hold when
traversing different types of part-whole relation - I am a member of a club (member-bunch)
- My head is part of me (place-area)
- But my head is not a part of the club
38Characteristics of part-whole relations
- Vertical relationships
- Existence dependency between whole and part
- Feature dependencies
- Inheritance from part to whole defective
- Inheritance from whole to part owner
- Systematic relation weight whole sum weight
parts - Horizontal relationships
- Constraints between parts
39N-ary relations
40Pattern 1 dependent values
- Relation between two concept
- One of the concept can have multiple features
that depend on the relation - Example temperature of a person
41Pattern 1 example instance
42Pattern 1 class constraints
43(No Transcript)
44Pattern 2 relation as class
- The relation itself is a concept
- All arguments are equally important
- Examples
- Enrollment
- Transaction
- Purchase
- See also the notion of UML association class
45Association class
46Pattern 2 example instance
47Pattern 2 class constraints
48Guidelines for choosing names
- Be as specific as possible
- Dont be afraid of long names
- Use a consistent syntax
- Capitalization
- Use of hyphens/spaces
- Do not worry yet about implementation!
- Classes nouns
- Operations verbs
- Associations attributes static or dynamic
property
49Class-room exercise
- In certain combinations and minimum
concentrations one or more amino acids can cause
bitterness. Amino acids are divided into three
groups Group I, II and III. Every amino acid has
a unique chemical formula.
50Constructing subclass hierarchies
51Principles for backbone identification (Rector)
- Backbone should be a genuine tree
- Distinctions at one level of the subclass
hierarchy should have he same decomposition
principle (dimension) - e.g. location
- Self-standing concepts
- Disjoint but open no exhaustive enumeration
possible - Partitioning/refining concepts
- Properties that carve up the subsumption space in
exhaustive disjoint partitions
52Example backbone analysis
- Hormone
- Steroid hormone
- Cortisol
- Protein Hormone
- Insulin
- ATPase
- Substance
- Enzyme
- Protein
- Steroid
- Catalyst
53Backbone physical/chemical structure
- Substance
- Protein
- Insulin
- ATPase
- Steroid
- Cortisol
54Roles non-primitive types
- PhysiologicalRole
- HormoneRole
- CatalystRole
- Hormone Substance AND
- playsRole HormoneRole
- Enzyme Protein AND
- playsRole CatalystRole
- Insulin gt playsRole HormoneRole
55OntoClean
- Guarino Welty,
- Method for rationalizing subclass hierarchies
- Metaproperties for characterizing classes
- Rigidity
- Identity
- Unity
- Are used to analyze an existing subsumption
hierarchy
56Rigid class properties
- Are essential for all its instances
- It must always hold, and not just accidentally
- Semi-rigid essential for some of the instances
- Anti-rigid not essential for all instances
- Anti-rigid properties cannot be superclasses of
rigid properties
57Example of applying rigidity
- Class Human
- hasBodyWeight (rigid)
- isFather (anti-rigid)
- isFemale (non-rigid)
-
58Identity
- Refers to the problem of being able to recognize
objects of a certain class - Identity criteria
- How do we recognize an object as belonging to a
class? - Should hold over time
- How can one determine two instances are the same
or different? - Identity criteria are inherited over the
subsumption relation
59Example of identity criteria
- Class Human
- Different bodies
- Class Article
- Citation information
- Class GeographicalLocation
- Latitude/longitude coordinates
60Example of use of Identity
- Does the class TimeDuration (e.g. 1 hour)
subsume the class TimeInterval (e.g. 1100-1200
today)? - Check identity multiple instances of
TimeInterval can be identified as the same
instance of TimeDuration - Compare this to the subsumption relation between
Human and Female
61Unity
- How to determine something is a whole?
- How to determine which are the parts?
- Unit criteria
- Criteria for essential parts
- Criteria for conditions between the parts
- Guideline for analyzing subsumption hierarchies
- Wholes should not be subclasses of non-wholes
62Examples of unity
- Is water a unity?
- Not if it has no clear boundaries
- But the following are unities
- An ocean
- A cup of water
- Applying the guideline
- Can water be a superclass of ocean?
63Ontological analysis of a subsumption hierarchy
- Identifying the backbone
- Subclasses based on rigid properties
- Can also help in comparing two hierarchies
- Discovering inconsistencies in hierarchies
- List of common types of misuse of subsumption
64Misuse of subsumptioninstantiation
- Some cases are easy
- Asia in not a subclass of Continent, but an
instance - BillClinton is not a subclass of Human, but an
instance of it. - Consider the subclass hierarchy
- Animal ? Mammal ? Human
- What is the relation between Species and Human?
65Modelling issueclasses as instances
Aircraft no-of-seats positive integer owner
Airline Fokker-70 subclass of
Aircraft no-of-seats 60-80 PH-851 instance
of Fokker-70 no-of-seats 65 owner KLM
- Aircraft-type
- no-of-engines integer gt0
- propulsion propeller, jet
- Fokker-70
- instance of Aircraft-type
- no-of-engines 2
- propulsion jet
-
66Misuse of subsumptionpart-whole
- Common error
- E.g. Engine is not a subclass of Car
- See previous lecture
67Type restriction
- Is CarPart a superclass of Engine?
- No, there are engines which are not car parts
- Engine has rigid properties
- Car parts have no rigid properties
- gt CarPart cannot subsume Engine
68Polysemy
- Example confusion
- This book is heavy
- I liked this book
- Using a term in two different senses
- Cf. concept/term debate in thesauri
69Example dirty hierarch
70Hierarchy after cleaning
71Summary
- Construction of subclass hierarchies is error
prone - Techniques for normalization through ontological
analysis exist - Main advantage of normalized hierarchy is ease of
understanding by others - Prevention of misunderstandings when hierarchy is
shared
72More information