Ontology construction I
Course Ontology Engineering
Overview
• Subclass relations
• Reflections on category representations– Levels in hierarchies– Sets versus prototypes
• Construction patters– N-ary relations– Value sets versus value partitions
2
3
Subclass relation in UML
4
Multiple inheritance
5
Generalization properties• Completeness
{complete} = each object participates in AT LEAST one subclass
{incomplete} = subclass participation is optional (use, e.g. with single subclasses)
• Disjointedness{disjoint} = object participates in AT MOST one subclass
{overlapping} = object may belong to multiple subclasses
“multiple specialization”
6
Two different organizations of the disease hierarchy
7
viewpoints - simultaneous multiple classifications
8
Limitations of Hierarchies
• What’s in a link? – Hierarchical links often have different semantics
• “Dimensions” of distinction making provide rationale for hierarchical levels– (Multiple) classification along different dimensions
within single hierarchy creates confusion and makes applications unnecessarily complex
• Hierarchy enforces a single fixed sequence of dimensions– fixed ordering not always possible or desirable
Categorization
• OWL (Description logic) takes an extensional view of classes– A set is completely defined by its members
• This puts the emphasis on specifying class boundaries
• Work of Rosch et al. takes a different view
9
Categories (Rosch)
• Help us to organize the world
• Tools for perception
• Basic-level categories– Are the prime categories used by people– Have the highest number of common and
distinctive attributes– What those basic-level categories are may
depend on context
10
Basic-level categories
11
Vertical organization of hierarchies
• Basic-level classes often occur as a middle layer in hierarchies
• Higher levels: abstract classes that organize the hierarchy
• Lower levels: domain/context specific classes– may require particular expertise to understand
12
Class room exercise
• Study the hierarchy of “chairs” in the Art & Architecture Thesaurus
http://www.getty.edu/research/tools/vocabularies/aat/
• Check whether this hierarchy follows the pattern described by Rosch
13
Horizontal organization of categories
• Categories at the same level of abstraction
• People use prototypes to characterize these– Some chairs are more typically “chair” than
others
• Emphasis is more on what is common for a category than on differences with other categories
14
Construction patterns:
Representing n-ary relations
Re-representing properties as classes
• To say something about a property it must be re-represented as a class– property: hasDanger Class: Danger
• plus properties of Danger:
hasReason hasRisk
hasAvoidanceMeasure
– Sometimes called “reification”• But “reification” is used differently in different communities
Pattern 1: dependent values
• Relation between two concepts
• One of the concepts can have multiple features that depend on the relation
• Example: diagnosis of a disease with a certain confidence level
Pattern 1: example instance
:Christine a :Person ; :has_diagnosis _:Diagnosis_Relation_1 .
:_Diagnosis_relation_1 a :Diagnosis_Relation ; :diagnosis_probability :HIGH; :diagnosis_value :Breast_Tumor_Christine .
Pattern 1: example instancein RDF
Pattern 1: class constraints
Pattern 1: class constraintsin RDF
:Diagnosis_Relation a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:someValuesFrom :Disease ; owl:onProperty :diagnosis_value ] ; rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom :Probability_values ; owl:onProperty :diagnosis_probability ] .
:Person a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom :Diagnosis_Relation ; owl:onProperty :has_diagnosis ] .
Pattern 2: relation as class
• The relation itself is a concept• All arguments are equally important• Examples:
– Enrollment– Transaction– Purchase– Clue (the butler with the rope in the kitchen)
• See also the notion of UML association class
Association class
Pattern 2: example instance
Pattern 2: example instance in RDF:Purchase_1 a :Purchase ; :has_buyer :John ; :has_object :Lenny_The_Lion ; :has_purpose :Birthday_Gift ; :has_amount 15 ; :has_seller :books.example.com .
Pattern 2: class constraints
Pattern 2: class constraints in RDF:Purchase a owl:Class ; rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom :Purpose ; owl:onProperty :has_purpose ] ; rdfs:subClassOf [ a owl:Restriction ; owl:cardinality 1 ; owl:onProperty :has_buyer ] ; rdfs:subClassOf [ a owl:Restriction ; owl:onProperty :has_buyer ; owl:someValuesFrom :Person ] ;...
Literature
• http://www.w3.org/TR/swbp-n-aryRelations/
28
Construction patterns:
Specifying value sets
30
Specifying value sets
• Identify modifiers that are mutually exclusive– Domestication– Risk– Sex– Age
• Make meaning precise– Age Age_group
Modifiers Domestication
Domestic Wild Feral
Risk Dangerous Risky Safe
Sex Male Female
Age Child
Infant Toddler
Adult Elderly
31
Options for representing value sets
• Symbolic values– Individuals that enumerate all states of a Quality
• The enumeration of the values equals the quality class
• Value partitions– Classes that partition a Quality
• The disjunction of the partition classes equals the quality class
32
Value 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
34
Value 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 classex:MyAgeGroup rdf:type ex:Adult .
• Main advantage: flexibility
37
Issues in specifying values
• Value Partitions– Can be subdivided and specialised– Fit with philosophical notion of a quality space
(cf. e.g. DOLCE)– Require interpretation to go in databases as values
• in theory but rarely considered in practice
– Work better with existing classifiers in OWL-DL
• Value Sets– Cannot be subdivided– Fit with intuitions– More similar to databases – no interpretation– Work less well with existing classifiers
38
Class room exercise
• Assume the following use case: for the collection of a museum we need to describe the color of clothes. These clothes can have subtle color variations, so we need an extensive color vocabulary. The museum uses the Art and Architecture Thesaurus for describing the items in their collections. This thesaurus contains extensive information about colors.
• Your task is to specify the values that a property "hasColor" can take for the class "Cloth". AAT contains more than 200 colors, but you can limit yourself to a representative subset of purple colors (at least 2 layers of ancestors below <purple color>).The subset should allow you to specify the relevant distinctions you want to make.
Literature
• http://www.w3.org/TR/swbp-specified-values/
39