What is an Ontology?
“An explicit specification of a conceptualization”
6
[Tom 6
Gruber 1993]
abstract model
of some domain
– concepts
– properties and attributes of concepts
– constraints on properties and attributes
– individuals
(often, but not always)
An ontology defines
– a common vocabulary
– a shared understanding
Semantic Web 2016–17 (7)
1
Ontology examples: Lightweight taxonomies
Taxonomy is the practice and science of classification.
The word comes from the Greek τ αξις (‘order’) and νoµoς (‘law’ or ‘science’)
–
Linnaean taxonomy: a classification of living things
(Carl Linnaeus, 1707–1778, ‘father of modern taxonomy’)
–
Yahoo! Web Directory
–
Open Directory Project
–
Amazon product catalog
Semantic Web 2016–17 (7)
(http://dir.yahoo.com/)
590,000 categories
(http://dmoz.org/)
2
Ontology examples: Heavy weight
–
Cyc, upper ontology for all of human consensus reality (started in 1994)
http://www.opencyc.org/
the world’s largest and most complete general knowledge base and
commonsense reasoning engine
Semantic Web 2016–17 (7)
3
Ontology examples: e-Science
–
Open Biomedical Ontologies Consortium: GO http://www.geneontology.org/,
MGED http://mged.sourceforge.net/ontologies/MGEDontology.php, . . .
Used, e.g., for ‘in silico’ investigations relating theory and data
Semantic Web 2016–17 (7)
4
Ontology examples: heathcare
–
Building/maintaining terminologies such as Snomed CT, NCI, Galen and FMA
(Snomed CT: Systematised Nomenclature of Medicine—Clinical Terms)
Used, e.g., for semi-automated annotation of MRI images
Clinicians use different terms that mean the same thing: ‘heart attack,’ ‘myocardial infarction,’
and ‘MI’ may mean the same thing to a cardiologist, but to a computer, they are all different.
Semantic Web 2016–17 (7)
5
Ontology examples: organising complex information
–
E.g., UN-FAO, NASA, Ordnance Survey, General Motors,
Lockheed Martin, . . .
Semantic Web 2016–17 (7)
6
Ontology examples: ontology-based data access
–
use the OWL 2 QL profile of OWL 2 to ensure reduction to SQL
–
see also BBC ontologies http://www.bbc.co.uk/ontologies
Semantic Web 2016–17 (7)
7
What is ‘Ontology Engineering’?
Ontology Engineering
—
defining terms in the domain and relations among them:
–
defining concepts in the domain
–
arranging the concepts in a hierarchy
–
defining which attributes and properties classes can have and
(classes)
(subclass-superclass)
constraints on their values
–
defining individuals and filling in attribute/property values
Ontology engineering is transferring knowledge into a
computer accessible form
Semantic Web 2016–17 (7)
8
Why develop an Ontology?
–
to share common understanding of the structure of information
– among people
– among software agents
–
to enable reuse of domain knowledge
– to avoid “re-inventing the wheel”
– to introduce standards to allow interoperability
–
–
to make domain assumptions explicit
–
easier to change domain assumptions
–
easier to understand and update legacy data
to separate domain knowledge from the operational knowledge
–
re-use domain and operational knowledge separately
Semantic Web 2016–17 (7)
9
Steps in developing an Ontology
1 determine domain and scope
– what is the domain that the ontology will cover?
– what we are going to use the ontology for?
– what types of questions the information in the ontology should
provide answers for (competence questions)?
2 informal/semiformal knowledge acquisition
– collect the terms
– organise them informally
–
paraphrase and clarify terms to produce informal concept definitions
– diagram informally
3 refine requirements and tests
Semantic Web 2016–17 (7)
10
Steps in developing an Ontology (cont.)
4 implementation
paraphrase and comment at each stage before implementing
– develop normalised schema
– implement prototype recording the intension as a paraphrase
– scale up a bit and check performance
5 evaluation and quality assurance
– against goals
(ontology design is subjective!)
– include tests for evolution and change management
– design regression tests and ‘probes’
6 maintenance: usage monitoring and evolution
– compatibility between different versions of the same ontology and
between versions of an ontology and instance data
Process not product!
Semantic Web 2016–17 (7)
11
Example: Animal ontology
Purpose and scope:
To provide an ontology for an index of a children’s book of animals including
–
where they live
–
what they eat
(carnivores, herbivores and omnivores)
–
how dangerous they are
–
how big they are
–
a bit of basic anatomy
(number of legs, wings, toes, etc.)
Semantic Web 2016–17 (7)
12
Collect the terms
–
what are the terms we need to talk about?
–
what are the properties of these terms?
–
what do we want to say about the terms?
–
card sorting is often the best way
–
write down each concept/idea on a card
–
organise them into piles
–
link the piles together
–
do it again, and again
Semantic Web 2016–17 (7)
(works best in a small group)
13
Example: Animals and Plants
a
Dog
Carnivore
Dangerous
Cat
Plant
Pet
Cow
Animal
Domestic Animal
Person
Draught Animala
Farm Animal
Tree
Child
Food Animal
Grass
Parent
Fish
Herbivore
Mother
Carp
Male
Father
Goldfish
Female
Pig
used for pulling heavy loads, etc.
Semantic Web 2016–17 (7)
14
Extend the Concepts
Take a group of things and ask what they have in common
and then what other ‘siblings’ there might be
For example:
–
Plant, Animal
–
Cat, Dog, Cow, Person
–
Cow, Goat, Sheep, Horse
—
Living Thing
—
(what others are there?
–
Wild, Domestic
Semantic Web 2016–17 (7)
—
(might add Bacteria, Fungi?)
Mammal
—
(might add Goat, Rabbit?)
Ungulate
(hoofed animal)
do they divide amongst themselves?
Domestication
even/odd-toed?)
(what other states?)
15
Organise the Concepts
Choose some main axes:
–
add abstractions where needed
(e.g., Living Thing, Mammal, Fish)
–
identify relations
(e.g., eats, owns, parent of)
–
identify definable things
(e.g., Draught Animal, Father, Herbivore)
i.e., things where you can say clearly what it means
try to define a dog precisely — very difficult (a “natural kind”)
Self-standing things vs. Modifiers
–
self-standing things can exist on their own
(roughly nouns)
(e.g., people, animals, houses, actions, processes)
–
modifiers ‘modify’ other things
(roughly adjectives and adverbs)
(e.g., wild/domestic, male/female, healthy/sick, dangerous/safe)
Semantic Web 2016–17 (7)
16
Arrange Concepts/Properties into Hierarchy
Reorganise everything but “definable” things into pure trees —
these will be the “primitives”
self-standing
– LivingThing
– Animal
– Mammal
– Cat
– Dog
– Cow
– Person
– Pig
– Fish
– Carp
– Goldfish
– Plant
– Tree
– Grass
Semantic Web 2016–17 (7)
modifiers
Domestication
– Domestic
– Wild
Use
– Pet
– Food
– Draught
Dangerousness
– Dangerous
– Safe
Sex
– Male
– Female
Age
– Adult
– Child
relations
definable
eats
owns
parentOf
...
Carnivore
Herbivore
Child
Parent
Mother
Father
FoodAnimal
DraughtAnimal
17
Defining Classes and a Class Hierarchy
–
Things to remember:
– there is no single correct class hierarchy
– but there are some guidelines
–
Question to ask:
Is each instance of the subclass an instance of it superclass?
Semantic Web 2016–17 (7)
18
Defining Classes and a Class Hierarchy (cont.)
–
All the siblings in the class hierarchy must be at the same level of generality
(compare to section and subsections in a book)
–
If a class has more than a dozen direct subclasses,
additional subcategories may be necessary
(compare to bullets in a list)
However, if no natural classification exists, the long list may be more natural
–
Class names should be either all singular or all plural
(Animal is not a kind-of Animals)
–
Classes represent concepts in the domain, not their names
The class name can change, but it will still refer to the same concept
(synonym names for the same concept are not different classes)
Semantic Web 2016–17 (7)
19
Properties
Identify the domain and range constraints for properties
(if anything is used in a special way, add a text comment)
–
Animal eats LivingThing
domain: Animal
range: LivingThing
(NB: ignore difference between parts of LivingThings and LivingThings)
–
Person owns LivingThing except Person
domain: Person
range: LivingThing
and not Person
–
Animal parentOf Animal
domain: Animal
range: Animal
Identify property restrictions: what can we say about all instances of a class?
–
all Cows eat some Plants
–
all Cats eat some Animals
–
all Pigs eat some Animals and eat some Plants
–
...
Semantic Web 2016–17 (7)
descriptions of
self-standing things
20
Definable things
Paraphrase and formalise the definitions in terms of the
primitives, relations and other definables
Note any assumptions to be represented elsewhere
(add as comments when implementing)
–
“A Parent is an Animal that is a parent of some other Animal”
(NB: ignore Plants for now)
Parent = Animal and parentOf some Animal
–
“A Herbivore is an Animal that eats only Plants”
(NB: all Animals eat some LivingThings)
Herbivore = Animal and eats only Plant
–
“An Omnivore is an Animal that eats both Plants and Animals”
Omnivore = Animal and eats some Plant and eats some Animal
Without a paraphrase we cannot tell if we disagree on
what you meant to represent and how you represented it.
Semantic Web 2016–17 (7)
21
Normalisation and Untangling
Directed Acyclic Graph
(DAG)
Tree
everything (but the root)
has one parent
things can have
multiple parents
‘polyhierarchy’
‘strict hierarchy’
Normalisation:
–
–
–
Trees are easier
to manage than DAGs
separate primitives into disjoint trees
link the trees with definitions and restrictions
let the classifier produce the DAG
Herbivore
Cow
Cat
Carnivore
Animal Dog
Y
H
H
I
@
H
Mammal @
Person
Y
H
H
@
HH
@
H
Omnivore
Semantic Web 2016–17 (7)
Pig
Cow
Herbivore )
Cat
Carnivore ) Animal Dog
I
@
H
Y
HH
@
@
Mammal H
Y
H
@
Omnivore
Person
H
HH
Pig
22
Modifiers
–
Identify modifiers that have mutually exclusive values
(Domestication, Dangerousness, Sex, Age)
NB. Uses are not mutually exclusive
(can be both Draught and Food)
–
Extend and complete lists of values
(Dangerousness: Dangerous, Risky, Safe)
–
Define a functional property for every such a modifier
–
There are two ways of specifying values for modifiers
–
value partitions
–
value sets
(classes that partition a quality)
Domestication
– Domestic
– Wild
Use
– Pet
– Food
– Draught
Dangerousness
– Dangerous
– Safe
Sex
– Male
– Female
Age
– Adult
– Child
(individuals that enumerate all states of a quality)
Semantic Web 2016–17 (7)
23
Specifying Values: Value Partitions
Example: a parent quality — Dangerousness
–
Define subqualities for each degree:
Dangerous, Risky, Safe
– all subqualities are disjoint
– subqualities ‘cover’ parent quality, i.e.,
Dangerousness = Dangerous or Risky or Safe
–
Define a functional property hasDangerousness
– range is the parent quality, i.e., Dangerousness
– domain must be specified separately
DangerousAnimal = Animal and hasDangerousness some Dangerous
Semantic Web 2016–17 (7)
24
Specifying Values: Value Sets
Example: a parent quality — SexValue
–
Define individuals for each value:
– values are different
male, female
(NOT assumed in OWL)
– value type is ‘enumeration’ of values, i.e.,
SexValue = { female, male }
–
Define a functional property hasSex
– range is the parent quality, i.e., SexValue
– domain must be specified separately
MaleAnimal = Animal and hasSex is male
Semantic Web 2016–17 (7)
25
Issues in Specifying Values
Value Partitions
Value Sets
–
can be subdivided and
specialised
–
cannot be subdivided
–
fit with philosophical
notion of quality space
–
fit with intuition
–
require interpretation
to go in databases
as values
–
more similar to databases
— no interpretation
–
work less well
with existing classifiers
in theory
but rarely considered in practice
–
work better with existing
classifiers in OWL DL
Semantic Web 2016–17 (7)
26
“Roles”
To keep primitives disjoint:
–
need to distinguish the roles things play in different situations
from what they are: e.g.,
–
–
–
–
often need to distinguish qualifications from roles
–
–
pet, farm animal, draught animal
professor, student
doctor, nurse, patient
a person may be qualified as a doctor but playing the role of a patient
Roles usually summarise relations
–
“to play the role of pet” is to say that
there is somebody for whom the animal is a pet
–
“to play the role of doctor” is to say that
there is somebody for whom the person is acting as the “doctor”
— or some “situation” in which they play that role
But we often do not want to explain the situation or relation completely.
Semantic Web 2016–17 (7)
27
“Roles” and Untangling
Example:
–
Identify “roles”
–
–
–
–
DraughtAnimal, FoodAnimal, PetAnimal
draught: cow, horse, dog
food: cow, horse
pet: horse, dog
Define subclasses of AnimalUseRole:
– FoodRole
– PetRole
– DraughtRole
DraughtAnimal = Animal and hasRole some DraughtRole
Semantic Web 2016–17 (7)
28
Limiting the Scope
–
An ontology should not contain
all the possible information about the domain
– no need to specialise or generalise more than the application requires
– no need to include all possible properties of a class
Example: an ontology of biological experiments contains
BiologicalOrganism
and
Experimenter.
Is the class Experimenter a subclass of BiologicalOrganism?
Semantic Web 2016–17 (7)
29
Summary: Normalised Ontology Development
–
Identify the self-standing primitives
(comment any that are not self-evident)
–
Separate them into trees
(you may have to create some ‘roles’ or other auxiliary concepts to do so)
–
Identify the relations
(comment any that are not self-evident)
–
Create the descriptions and definitions
(provide a paraphrase for each)
–
Identify how key items should be classified
(define regression tests)
–
Use classifier to form a DAG
–
Check if tests are satisfied
Semantic Web 2016–17 (7)
30
Tutorial: Travel agency ontology
Use the Protégé editor to define a normalised ontology for use by a travel
agency covering the following:
Hotel, restaurant, sports, luxury hotel, bed and breakfast,
safari, activity, hiking, spa treatment, sunbathing, sightseeing,
accommodation rating (three stars, etc.), campground, surfing.
Build a class hierarchy and indicate which classes in it are primitive and which
are definable. Define the required relations, their properties, domains and
ranges as well as individuals.
Define the following classes:
1. A two star hotel.
2. A spa resort (i.e., a destination offering a spa treatment).
3. A destination with sport activities but without safari.
4. A destination where all hotels have three star rating.
5. A destinations with at least three restaurants and at least four hotels.
Semantic Web 2016–17 (7)
31
© Copyright 2026 Paperzz