OWL The Web Ontology Language - PowerPoint PPT Presentation


Title: OWL The Web Ontology Language


1
OWL The Web Ontology Language
  • W3C standard
  • Collision of DAML (frames) and Oil (DLs in Frame
    clothing)
  • Three flavours
  • OWL-Lite simple but limited
  • OWL-DL complex but deliverable (real soon now)
  • OWL-Full fully expressive but serious
    logical/computational problems
  • Russel Paradox etc etc
  • All layered (awkwardly) on RDF Schema
  • Still work in progress see Semantic Web Best
    Practices Deployment Working Group (SWBP)

2
Note on syntaxes for OWL
  • Three official syntaxes Protégé-OWL syntax
  • Abstract syntax -Specific to OWL
  • N3 -OWL RDF -used in all SWBP documents
  • XML/RDF -very verbose
  • Old Protégé-OWL -Compact, derived from DL syntax
  • New Protégé-OWL simplified abstract syntax
  • someValuesFrom ? some
  • allValuesFrom ? only
  • intersectionOf ? AND
  • unionOf ? OR
  • complementOf ? not
  • Protégé/OWL can generate all syntaxes

3
A simple ontology Animals
Living Thing
Body Part
eats
has part
Plant
Arm
Animal
eats
Grass
Leg
eats
Herbivore
Tree
Person
Carnivore
Cow
4
Description Logics
  • What the logicians made of Frames
  • Greater expressivity and semantic precision
  • Compositional definitions
  • Conceptual Lego define new concepts from old
  • To allow automatic classification consistency
    checking
  • The mathematics of classification is tricky
  • Some seriously counter-intuitive results
  • The basics are simple devil in the detail

5
Description Logics
  • Underneath
  • computationally tractable subsets of first order
    logic
  • Describes relations between Concepts/Classes
  • Individuals secondary
  • DL Ontologies are NOT databases!

6
Description LogicsA brief history
  • Informal Semantic Networks and Frames (pre 1980)
  • Wood Whats in a Link Brachman What IS-A is and
    IS-A isnt.
  • First Formalisation (1980)
  • Bobrow KRL, Brachman KL-ONE
  • All useful systems are intractable (1983)
  • Brachman Levesque A fundamental tradeoff
  • Hybrid systems T-Box and A-Box
  • All tractable systems are useless (1987-1990)
  • Doyle and Patel Two dogmas of Knowledge
    Representation

7
A brief history of KR
  • Maverick incomplete/intractable logic systems
    (1985-90)
  • GRAIL, LOOM, Cyc, Apelon, ,
  • Practical knowledge management systems based on
    frames
  • Protégé
  • The German School Description Logics (1988-98)
  • Complete decidable algorithms using tableaux
    methods (1991-1992)
  • Detailed catalogue of complexity of family
    alphabet soup of systems
  • Optimised systems for practical cases (1996-)
  • Emergence of the Semantic Web
  • Development of DAML (frames), OIL (DLs) ?
    DAMLOIL ? OWL
  • Development of Protégé-OWL
  • A dynamic field constant new developments
    possibilities

8
Why the Best Practice working Group?
  • There is no established best practice
  • It is new We are all learning
  • A place to gather experience
  • A catalogue of things that work Analogue of
    Software Patterns
  • Some pitfalls to avoid
  • but there is no one way
  • Learning to build ontologies
  • Too many choices
  • Need starting points for gaining experience
  • Provide requirements for tool builders

9
Contributing to best practice
  • Please give us feedback
  • Your questions and experience
  • On the SW in generalsemanticweb_at_yahoogroups.com
  • For specific feedback to SWBP
  • Home Mail Archive http//www.w3.org/2001/sw/Bes
    tPractices/public-swbp-wg_at_w3.org

10
Protégé-OWL CO-ODE
  • Joint work Stanford U Manchester
    Southampton Epistemics
  • Please give us feedback on tools mailing lists
    forums at
  • protege.stanford.edu
  • www.co-ode.org
  • Dont beat your head against a brick wall!
  • Look to see if others have had the same problem
    If not
  • ASK!
  • We are all learning.

11
Part II Creating an ontology
Useful patterns
  • Upper ontologies Domain ontologies
  • Building from trees and untangling
  • Using a classifier
  • Closure axioms
  • Specifying Values
  • n-ary relations
  • Part-whole relations

12
Upper Ontologies
  • Ontology Schemas
  • High level abstractions to constrain construction
  • e.g. There are Objects Processes
  • Highly controversial
  • Sumo, Dolce, Onions, GALEN, SBU,
  • Needed when you work with many people together
  • NOT in this tutorial a different tutorial

13
Domain Ontologies
  • Concepts specific to a field
  • Diseases, animals, food, art work, languages,
  • The place to start
  • Understand ontologies from the bottom up
  • Or middle out
  • Levels
  • Top domain ontologies the starting points for
    the field
  • Living Things, Geographic Region,
    Geographic_feature
  • Domain ontologies the concepts in the field
  • Cat, Country, Mountain
  • Instances the things in the world
  • Felix the cat, Japan, Mt Fuji

14
Part II Useful Patterns
(continued)
  • Upper ontologies Domain ontologies
  • Building from trees and untangling
  • Using a classifier
  • Closure axioms Open World Reasoning
  • Specifying Values
  • n-ary relations

15
Example Animals Plants
  • Carnivore
  • Plant
  • Animal
  • Fur
  • Child
  • Parent
  • Mother
  • Father
  • Dog
  • Cat
  • Cow
  • Person
  • Tree
  • Grass
  • Herbivore
  • Male
  • Female
  • Dangerous
  • Pet
  • Domestic Animal
  • Farm animal
  • Draft animal
  • Food animal
  • Fish
  • Carp
  • Goldfish

16
Example Animals Plants
  • Carnivore
  • Plant
  • Animal
  • Fur
  • Child
  • Parent
  • Mother
  • Father
  • Dog
  • Cat
  • Cow
  • Person
  • Tree
  • Grass
  • Herbivore
  • Male
  • Female
  • Healthy
  • Pet
  • Domestic Animal
  • Farm animal
  • Draft animal
  • Food animal
  • Fish
  • Carp
  • Goldfish

17
Choose some main axesAdd abstractions where
needed identify relations Identify definable
things, make names explicit
  • Relations
  • eats
  • owns
  • parent-of
  • Living Thing
  • Animal
  • Mammal
  • Cat
  • Dog
  • Cow
  • Person
  • Fish
  • Carp
  • Goldfish
  • Plant
  • Tree
  • Grass
  • Fruit
  • Modifiers
  • domestic
  • pet
  • Farmed
  • Draft
  • Food
  • Wild
  • Health
  • healthy
  • sick
  • Sex
  • Male
  • Female
  • Age
  • Adult
  • Child
  • Definable
  • Carinvore
  • Herbivore
  • Child
  • Parent
  • Mother
  • Father
  • Food Animal
  • Draft Animal

18
Reorganise everything but definable things into
pure trees these will be the primitives
  • Relations
  • eats
  • owns
  • parent-of
  • Primitives
  • Living Thing
  • Animal
  • Mammal
  • Cat
  • Dog
  • Cow
  • Person
  • Fish
  • Carp Goldfish
  • Plant
  • Tree
  • Grass
  • Fruit
  • Modifiers
  • Domestication
  • Domestic
  • Wild
  • Use
  • Draft
  • Food
  • pet
  • Risk
  • Dangerous
  • Safe
  • Sex
  • Male
  • Female
  • Age
  • Adult
  • Child
  • Definables
  • Carnivore
  • Herbivore
  • Child
  • Parent
  • Mother
  • Father
  • Food Animal
  • Draft Animal

19
Set domain and range constraints for properties
  • Animal eats Living_thing
  • eats domain Animal range
    Living_thing
  • Person owns Living_thing except person
  • owns domain Person range
    Living_thing not Person
  • Living_thing parent_of Living_thing
  • parent_of domain Animal
    range Animal

20
Define the things that are definable from the
primitives and relations
  • Parent Animal and parent_of some Animal
  • Herbivore Animal and eats only Plant
  • Carnivore Animal and eats only Animal

21
Which properties can be filled inat the class
level now?
  • What can we say about all members of a class?
  • eats
  • All cows eat some plants
  • All cats eat some animals
  • All dogs eat some animals eat
    some plants

22
Fill in the details(can use property matrix
wizard)
23
Check with classifier
  • Cows should be Herbivores
  • Are they? why not?
  • What have we said?
  • Cows are animals and, amongst other things,
    eat some grass and eat some leafy_plants
  • What do we need to sayClosure axiom
  • Cows are animals and, amongst other things,eat
    some plants and eat only plants

24
Closure Axiom
  • Cows are animals and, amongst other things,eat
    some plants and eat only plants

Closure Axiom
25
In the tool
  • Right mouse button short cut for closure axiom
  • for any existential restriction

adds closure axiom
26
Open vs Closed World reasoning
  • Open world reasoning
  • Negation as contradiction
  • Anything might be true unless it can be proven
    false
  • Reasoning about any world consistent with this
    one
  • Closed world reasoning
  • Negation as failure
  • Anything that cannot be found is false
  • Reasoning about this world

27
Normalisation and UntanglingLet the reasoner do
multiple classification
  • Tree
  • Everything has just one parent
  • A strict hierarchy
  • Directed Acyclic Graph (DAG)
  • Things can have multiple parents
  • A Polyhierarchy
  • Normalisation
  • Separate primitives into disjoint trees
  • Link the trees with restrictions
  • Fill in the values

28
Tables are easier to manage than DAGs /
Polyhierarchies
and get the benefit of inferenceGrass and
Leafy_plants are both kinds of Plant
29
Remember to add any closure axioms
Then let the reasoner do the work
30
NormalisationFrom Trees to DAGs
  • Before classification
  • A tree
  • After classification
  • A DAG
  • Directed Acyclic Graph

31
Part II Useful Patterns
(continued)
  • Upper ontologies Domain ontologies
  • Building from trees and untangling
  • Using a classifier
  • Closure axioms Open World Reasoning
  • Specifying Values
  • n-ary relations

32
Examine the modifier list
  • Identify modifiers that have mutually exclusive
    values
  • Domestication
  • Risk
  • Sex
  • Age
  • Make meaning precise
  • Age ? Age_group
  • NB Uses are not mutually exclusive
  • Can be both a draft (pulling) and a food animal
  • Modifiers
  • Domestication
  • Domestic
  • Wild
  • Use
  • Draft
  • Food
  • Risk
  • Dangerous
  • Safe
  • Sex
  • Male
  • Female
  • Age
  • Adult
  • Child

33
Extend and complete lists of values
  • Identify modifiers that have mutually exclusive
    values
  • Domestication
  • Risk
  • Sex
  • Age
  • Make meaning precise
  • Age ? Age_group
  • NB Uses are not mutually exclusive
  • Can be both a draft and a food animal
  • Modifiers
  • Domestication
  • Domestic
  • Wild
  • Feral
  • Risk
  • Dangerous
  • Risky
  • Safe
  • Sex
  • Male
  • Female
  • Age
  • Infant
  • Toddler
  • Child
  • Adult
  • Elderly

34
Note any hierarchies of values
  • Identify modifiers that have mutually exclusive
    values
  • Domestication
  • Risk
  • Sex
  • Age
  • Make meaning precise
  • Age ? Age_group
  • NB Uses are not mutually exclusive
  • Can be both a draft and a food animal
  • Modifiers
  • Domestication
  • Domestic
  • Wild
  • Feral
  • Risk
  • Dangerous
  • Risky
  • Safe
  • Sex
  • Male
  • Female
  • Age
  • Child
  • Infant
  • Toddler
  • Adult
  • Elderly

35
Specify Values for each Two methods
  • Value partitions
  • Classes that partition a Quality
  • The disjunction of the partition classes equals
    the quality class
  • Symbolic values
  • Individuals that enumerate all states of a
    Quality
  • The enumeration of the values equals the quality
    class

36
Method 1 Value Partitions- example
Dangerousness
  • A parent quality Dangerousness
  • Subqualities for each degree
  • Dangerous, Risky, Safe
  • All subqualities disjoint
  • Subqualities cover parent quality
  • Dangerousness Dangerous OR Risky OR Safe
  • A functional property has_dangerousness
  • Range is parent quality, e.g. Dangerousness
  • Domain must be specified separately
  • Dangerous_animal Animal and
    has_dangerousness some Dangerous

37
as created by Value Partition wizard
covering axiom
quality
partitions
38
Value partitionsDiagram
Animal
Dangerousanimal
has_dangerousnesssomeValuesFrom
Risky
Dangerous
Leo theLion
has_dangerousness
Dangerousness
LeosDanger
Safe
39
Value partitions UML style
Animal
Dangerousness_Value
owlunionOf
has_dangerousnesssomeValuesFrom
DangerousAnimal
Safe_value
Risky_value
Dangerous_value
Leo theLion
LeosDangerousness
has_dangerousness
40
Method 2 Value sets Example Sex
  • There are only two sexes
  • Can argue that they are things
  • Administrative sex definitely a thing
  • Biological sex is more complicated

41
Method 2 Value sets-example Sex
  • A parent quality Sex_value
  • Individuals for each value
  • male, female
  • Values all different (NOT assumed by OWL)
  • Value type is enumeration of values
  • Sex_value male, female
  • A functional property has_sex
  • Range is parent quality, e.g. Sex_value
  • Domain must be specified separately
  • Male_animal Animal and has_sex is male

42
Value sets UML style
Person
SexValue
owloneOf
has_sex
Man
female
male
has_sex
John
43
Issues in specifying values
  • Value Partitions
  • Can be subdivided and specialised
  • Fit with philosophical notion of a quality space
  • 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 data bases no interpretation
  • Work less well with existing classifiers

44
Value partitions practical reasons for
subdivisions
  • All elderly are adults
  • All infants are children
  • etc.
  • See also Normality_status inhttp//www.cs.man.
    ac.uk/rector/ontologies/mini-top-bio
  • One can have complicated value partitions if
    needed.

45
Picture of subdivided value partition
Age_Group_value
46
More defined kinds of animals
  • After classification, DAGs
  • Before classification, trees

47
Part III Hands On
  • Be sure you have installed the software
  • (See front page)
  • Open Animals-tutorial-step-1

48
Explore the interface
49
Explore the interface
New Subclassicon
AssertedHierarchy
ClassDescription
DisjointClasses
50
Explore the interface
Add superclass
New restriction
New expression
Description Necessary
Conditions
51
Explore the interface
DefinitionNecessary SufficientConditions
Defined class has necessary
sufficient conditions ( )
52
Explore the interface
Classify button (racer must be running)
Or some other DIG compliant classifier
53
Exercise 1
  • Create a new animal, an Elephant and an Ape
  • Make them disjoint from the other animals
  • Make the ape an omnivore
  • eats animals and eats plants
  • Make the sheep a herbivore
  • eats plants and only plants

54
Exercise 1b Classification
  • Check it with the classifier
  • Is Sheep classified under Herbivore
  • If not, have you forgot the closure axiom?
  • Did it all turn red?
  • Do you have too many disjoint axioms?

55
Exercise 1c checking disjoints make things
that should be inconsistent
  • Create a Probe_Sheep_and_Cow that is a kind of
    both Sheep and Cow
  • Create a Probe_Ape_and_Man that is a kind of both
    Ape and Man
  • Run the classifier
  • Did both probes turn red?
  • If not, check the disjoints

56
Exercise 1d Using Unit Tests
  • Right click on each of the Probe classes and
    select Edit Unit Test Information
  • Mark each class as unsatisfiable
  • From the tools menu select
  • OWL Unit Testing--gt Run Unit Tests
  • The Unit tests should be ticked
  • I.e. the classes were correctly found to be
    unsatisfiable.

57
Exercise 2 A new value partition
  • Create a new value partition
  • Size_partition
  • Big
  • Medium
  • Small
  • Describe
  • Lions, Cows, and Elephants as Big domestic_cat
    as Small the rest Medium

58
Exercise 2b
  • Define Big_animal and Small_animal
  • Does the classification work
  • Extra
  • Make a subdivision of Big for Huge and make
    elephants Huge
  • Do elephants still classify as Big Animal

59
Part IV Patterns n-ary relations
  • Upper ontologies Domain ontologies
  • Building from trees and untangling
  • Using a classifier
  • Closure axioms Open World Reasoning
  • Specifying Values
  • n-ary relations

60
Saying something about a restriction
  • Not just
  • that an a book is good but who said so
  • And its price
  • And where to buy it
  • But can say nothing about properties
  • except special thing
  • Super and subproperties
  • Functional, transitive, symmetric

61
N-ary Relations
Binary Relation
"LionsLife in the Pride"
excellent
quality
  • According to whom?

62
Adding attributes to a Relation
NY Times Book review
"LionsLife in the Pride"
excellent
quality
63
Define a class for a relation Reification
Class Description
instance-of
Description_1 Quality Excellent Source NY
Times Book review
quality description
"LionsLife in the Pride"
64
A Relation Between Multiple Participants
John buys LionsLife in the Pride from
books.com for 15
  • Participants in this relation
  • John
  • Lions Life in the Pride
  • books.com
  • 15
  • No clear originator

65
Network of Participants
Class Purchase
This Purchase
buyer
price
John
15
seller
object
"LionsLife in the Pride"
books.com
66
Considerations
  • Choosing the right pattern often subjective
  • Pattern 1 additional attributes for a relation
  • Pattern 2 a network of participants
  • Instances of reified relations usually dont have
    meaningful names
  • Defining inverse relations is more tricky

67
(No Transcript)
68
Qualified cardinality constraints
  • Use with partonomy
  • Use with n-ary relations

69
Cardinality Restrictions
  • All mammals have four limbs
  • All Persons have two legs and two arms
  • (All mammals have two forelimbs and two hind
    limbs)

70
What we would like to sayQualified cardinality
constraints
  • Mammal has_part cardinality4 Limb
  • Mammal has_part cardinality 2 Forelimb
    has_part cardinality 2 Hindlimb
  • Arm Forelimb AND is_part_of some Person

Glossary Forelimb front leg or arm
Hindlimb back leg
71
What we have to say in OWL
  • The property has_part has subproperties
    has_limb
    has_leg has_arm
    has_wing
  • Mammal, Reptile, Bird has_limb
    cardinality4Person has_leg
    cardinality2Cow, Dog, Pig has_leg
    cardinality4Bird has_leg cardinality2
  • Biped Animal AND has_leg cardinality2

72
Classification of bipeds and quadrupeds
  • Before classification
  • Afterclassificaiton

73
Cardinality and n-ary relations
  • Need to control cardinality of relations
    represented as classes
  • An animal can have just 1 dangerousness
  • Requires a special subproperty of quality
  • has_dangerousness_quality cardinality1

74
Re-representing the property has_danger asthe
class Risk
75
In OWL must add subproperty for each qualityto
control cardinality, e.g. has_risk_quality
specialsubproperty of has_quality
  • Leads to a proliferation of subproperties
  • The issue of Qualified Cardinality Constraints

76
Part VII Summary
  • Upper ontologies Domain ontologies
  • Building from trees and untangling
  • Using a classifier
  • Closure axioms Open World Reasoning
  • Specifying Values
  • n-ary relations
  • Part-whole relations
  • Transitive properties
  • Qualified cardinality restrictions

77
End
  • To find out more
  • http//www.co-ode.org
  • Comprehensive tutorial and sample ontologiesxz
  • http//protege.stanford.org
  • Subscribe to mailing lists participate in forums
  • On the SW in generalsemanticweb_at_yahoogroups.com
  • For specific feedback to SWBP
  • Home Mail Archive http//www.w3.org/2001/sw/Bes
    tPractices/public-swbp-wg_at_w3.org

78
(No Transcript)
79
Elephant TrapsPart 1
  • Some does not imply onlyOnly does not imply
    some
  • Trivial satisfaction of universal restrictions
  • Domain and Range Constraints
  • What to do when it all turns red

80
someValuesFrom means some
  • someValuesFrom means some means at least 1
  • Dog_owner complete Person and hasPet
    someValuesFrom Dog
  • meansA Pet_owner is any person who has as a pet
    some (i.e. at least 1) dog
  • Dog_owner partial Person and hasPet
    someValuesFrom Dog
  • means All Pet_owners are people and have as a
    pet some (i.e. at least 1) dog.

81
allValuesFrom means only
  • allValuesFrom means only means no values
    except
  • First_class_lounge complete Lounge and
    hasOccupants allValuesFrom FirstClassPassengers
  • Means A first class lounge is any lounge
    where the occupants are only first class
    passengers orA first class lounge is any
    lounge where there are no occupants except first
    class passengers
  • First_class_lounge partial Lounge and
    hasOccupants allValuesFrom FirstClassPassengers
  • MeansAll first class lounges have only
    occupants who are first class passengersAll
    first class lounges have no occupants except
    first class passengersAll first class lounges
    have no occupants who are not first class
    passengers

82
Some does not mean only
  • A dog owner might also own cats, and rats, and
    guinea pigs, and
  • It is an open world, if we want a closed world we
    must add a closure restriction or axiom
  • Dog_only_owner complete Person and hasPet
    someValuesFrom Dog and
    hasPet allValuesFrom Dog
  • A closure restriction or closure axiom
  • The problem in making maguerita pizza a vegie
    pizza
  • Closure axioms use or (disjunction)
  • dog_and_cat_only_owner complete hasPet
    someValuesFrom Dog and hasPet someValuesFrom
    Cat and hasPet allValuesFrom (Dog or Cat)

83
Only does not mean some
  • There might be nobody in the first class lounge
  • That would still satisfy the definition
  • It would not violate the rules
  • A pizza with no toppings satisfies the definition
    of a vegetarian pizza
  • Pizza has_topping_ingredient allValuesFrom
    Vegetarian_topping
  • It has no toppings which are meat
  • It has not toppings which are not vegetables
  • It has no toppings which arent fish
  • Analogous to the empty set is a subset of all
    sets
  • One reason for a surprising subsumption is that
    you have made it impossible for there to be any
    toppings
  • allValuesFrom (cheese and tomato)

84
Trivial Satisfiability
  • A universal (only) restriction with an
    unsatisfiable filler is trivially satisfiable
  • i.e. it can be satisfied by the case where there
    is no filler
  • If there is an existential or min-cardinality
    restriction, inferred or explicit, then the class
    will be unsatisfiable
  • Can cause surprising late bugs

85
Domain Range Constraints Part 2
  • Actually axioms
  • Property P range( RangeClass) means
  • owlThing restriction(P allValuesFrom
    RangeClass)
  • Property P domain( DomainClass )means
  • owlThing restriction(inverse(P)
    allValuesFrom DomainClass)

86
What happens if violated
  • Actually axioms
  • Property eats range( LivingThing) means
  • owlThing restriction(P allValuesFrom
    LivingThing)
  • Bird eats some Rock
  • All StoneEater eats some rocks
  • What does this imply about rocks?
  • Some rocks are living things
  • because only living things can be eaten
  • What does this say about all rocks?

87
Domain Range Constraints
  • Actually axioms
  • Property eats domain( LivingThing )means
  • owlThing restriction(inverse(eats)
    allValuesFrom LivingThing)
  • Only living things eat anything
  • StoneEater eats some Stone
  • All StoneEaters eat some Stone
  • Therefore All StoneEaters are living things
  • If StoneEaters are not already classified as
    living things, the classifier will reclassify
    (coerce) them
  • If StoneEaters is disjoint from LivingThing it
    will be found disjoint

88
Example of Coercion by Domain violation
  • has_topping domain(Pizza) range(Pizza_topping)c
    lass Ice_cream_cone has_topping some Ice_cream
  • If Ice_cream_cone and Pizza are not disjoint
  • Ice_cream_cone is classified as a kind of Pizza
  • but Ice_cream is not classified as a kind of
    Pizza_topping
  • Have shown that
    all Ice_cream_cones are a kinds of Pizzas,but
    only that some
    Ice_cream is a kind of Pizza_topping
  • Only domain constraints can cause
    reclassification

89
Domain Range ConstraintsNon-Obvious
Consequences
  • Range constraint violations unsatisfiable or
    ignored
  • If filler and RangeClass are disjoint
    unsatisfiable
  • Otherwise nothing happens!
  • Domain constraint violations unsatisfiable or
    coerced
  • If subject and DomainClass are disjoint
    unsatisfiable
  • Otherwise, subject reclassified (coerced) to
    kind of DomainClass!
  • Furthermore cannot be fully checked before
    classification
  • although tools can issue warnings.

90
Part 3 What to do when Its all turned red
Dont Panic!
  • Unsatisfiability propagates so trace it to its
    source
  • Any class with an unsatisfiable filler in a
    someValuesFor (existential) restriction is
    unsatisfiable
  • Any subclass of an unsatisfiable class is
    unsatisfiable
  • Therefore errors propagate, trace them back to
    their source
  • Only a few possible sources
  • Violation of disjoint axioms
  • Unsatisfiable expressions in some restrictions
  • Confusion of and and or
  • Violation of a universal (allValuesFrom)
    constraint(including range and domain
    constraints)
  • Unsatisfiable domain or range constraints
  • Tools coming - Try the debugger

91
End
  • To find out more
  • http//www.co-ode.org
  • Comprehensive tutorial and sample ontologiesxz
  • http//protege.stanford.org
  • Subscribe to mailing lists participate in forums
  • On the SW in generalsemanticweb_at_yahoogroups.com
  • For specific feedback to SWBP
  • Home Mail Archive http//www.w3.org/2001/sw/Bes
    tPractices/public-swbp-wg_at_w3.org

92
Part VI Hands On supplement
  • Open Animals-tutorial-step-2

93
Exercise 3 (Advanced supplement)
  • Load Animals-Tutorial-complete.pprj
  • Define a new kind of Limb Wing
  • Describe birds as having 2 wings
  • Define a Two-Winged_animal
  • Does bird classify under Two-Winged_animal?
View by Category
About This Presentation
Title:

OWL The Web Ontology Language

Description:

The Web Ontology Language W3C standard Collision of DAML (frames) and Oil (DLs in Frame clothing) Three flavours OWL-Lite simple but limited – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 92
Provided by: cyber62
Learn more at: http://cybersoft-bil-tek.com
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: OWL The Web Ontology Language


1
OWL The Web Ontology Language
  • W3C standard
  • Collision of DAML (frames) and Oil (DLs in Frame
    clothing)
  • Three flavours
  • OWL-Lite simple but limited
  • OWL-DL complex but deliverable (real soon now)
  • OWL-Full fully expressive but serious
    logical/computational problems
  • Russel Paradox etc etc
  • All layered (awkwardly) on RDF Schema
  • Still work in progress see Semantic Web Best
    Practices Deployment Working Group (SWBP)

2
Note on syntaxes for OWL
  • Three official syntaxes Protégé-OWL syntax
  • Abstract syntax -Specific to OWL
  • N3 -OWL RDF -used in all SWBP documents
  • XML/RDF -very verbose
  • Old Protégé-OWL -Compact, derived from DL syntax
  • New Protégé-OWL simplified abstract syntax
  • someValuesFrom ? some
  • allValuesFrom ? only
  • intersectionOf ? AND
  • unionOf ? OR
  • complementOf ? not
  • Protégé/OWL can generate all syntaxes

3
A simple ontology Animals
Living Thing
Body Part
eats
has part
Plant
Arm
Animal
eats
Grass
Leg
eats
Herbivore
Tree
Person
Carnivore
Cow
4
Description Logics
  • What the logicians made of Frames
  • Greater expressivity and semantic precision
  • Compositional definitions
  • Conceptual Lego define new concepts from old
  • To allow automatic classification consistency
    checking
  • The mathematics of classification is tricky
  • Some seriously counter-intuitive results
  • The basics are simple devil in the detail

5
Description Logics
  • Underneath
  • computationally tractable subsets of first order
    logic
  • Describes relations between Concepts/Classes
  • Individuals secondary
  • DL Ontologies are NOT databases!

6
Description LogicsA brief history
  • Informal Semantic Networks and Frames (pre 1980)
  • Wood Whats in a Link Brachman What IS-A is and
    IS-A isnt.
  • First Formalisation (1980)
  • Bobrow KRL, Brachman KL-ONE
  • All useful systems are intractable (1983)
  • Brachman Levesque A fundamental tradeoff
  • Hybrid systems T-Box and A-Box
  • All tractable systems are useless (1987-1990)
  • Doyle and Patel Two dogmas of Knowledge
    Representation

7
A brief history of KR
  • Maverick incomplete/intractable logic systems
    (1985-90)
  • GRAIL, LOOM, Cyc, Apelon, ,
  • Practical knowledge management systems based on
    frames
  • Protégé
  • The German School Description Logics (1988-98)
  • Complete decidable algorithms using tableaux
    methods (1991-1992)
  • Detailed catalogue of complexity of family
    alphabet soup of systems
  • Optimised systems for practical cases (1996-)
  • Emergence of the Semantic Web
  • Development of DAML (frames), OIL (DLs) ?
    DAMLOIL ? OWL
  • Development of Protégé-OWL
  • A dynamic field constant new developments
    possibilities

8
Why the Best Practice working Group?
  • There is no established best practice
  • It is new We are all learning
  • A place to gather experience
  • A catalogue of things that work Analogue of
    Software Patterns
  • Some pitfalls to avoid
  • but there is no one way
  • Learning to build ontologies
  • Too many choices
  • Need starting points for gaining experience
  • Provide requirements for tool builders

9
Contributing to best practice
  • Please give us feedback
  • Your questions and experience
  • On the SW in generalsemanticweb_at_yahoogroups.com
  • For specific feedback to SWBP
  • Home Mail Archive http//www.w3.org/2001/sw/Bes
    tPractices/public-swbp-wg_at_w3.org

10
Protégé-OWL CO-ODE
  • Joint work Stanford U Manchester
    Southampton Epistemics
  • Please give us feedback on tools mailing lists
    forums at
  • protege.stanford.edu
  • www.co-ode.org
  • Dont beat your head against a brick wall!
  • Look to see if others have had the same problem
    If not
  • ASK!
  • We are all learning.

11
Part II Creating an ontology
Useful patterns
  • Upper ontologies Domain ontologies
  • Building from trees and untangling
  • Using a classifier
  • Closure axioms
  • Specifying Values
  • n-ary relations
  • Part-whole relations

12
Upper Ontologies
  • Ontology Schemas
  • High level abstractions to constrain construction
  • e.g. There are Objects Processes
  • Highly controversial
  • Sumo, Dolce, Onions, GALEN, SBU,
  • Needed when you work with many people together
  • NOT in this tutorial a different tutorial

13
Domain Ontologies
  • Concepts specific to a field
  • Diseases, animals, food, art work, languages,
  • The place to start
  • Understand ontologies from the bottom up
  • Or middle out
  • Levels
  • Top domain ontologies the starting points for
    the field
  • Living Things, Geographic Region,
    Geographic_feature
  • Domain ontologies the concepts in the field
  • Cat, Country, Mountain
  • Instances the things in the world
  • Felix the cat, Japan, Mt Fuji

14
Part II Useful Patterns
(continued)
  • Upper ontologies Domain ontologies
  • Building from trees and untangling
  • Using a classifier
  • Closure axioms Open World Reasoning
  • Specifying Values
  • n-ary relations

15
Example Animals Plants
  • Carnivore
  • Plant
  • Animal
  • Fur
  • Child
  • Parent
  • Mother
  • Father
  • Dog
  • Cat
  • Cow
  • Person
  • Tree
  • Grass
  • Herbivore
  • Male
  • Female
  • Dangerous
  • Pet
  • Domestic Animal
  • Farm animal
  • Draft animal
  • Food animal
  • Fish
  • Carp
  • Goldfish

16
Example Animals Plants
  • Carnivore
  • Plant
  • Animal
  • Fur
  • Child
  • Parent
  • Mother
  • Father
  • Dog
  • Cat
  • Cow
  • Person
  • Tree
  • Grass
  • Herbivore
  • Male
  • Female
  • Healthy
  • Pet
  • Domestic Animal
  • Farm animal
  • Draft animal
  • Food animal
  • Fish
  • Carp
  • Goldfish

17
Choose some main axesAdd abstractions where
needed identify relations Identify definable
things, make names explicit
  • Relations
  • eats
  • owns
  • parent-of
  • Living Thing
  • Animal
  • Mammal
  • Cat
  • Dog
  • Cow
  • Person
  • Fish
  • Carp
  • Goldfish
  • Plant
  • Tree
  • Grass
  • Fruit
  • Modifiers
  • domestic
  • pet
  • Farmed
  • Draft
  • Food
  • Wild
  • Health
  • healthy
  • sick
  • Sex
  • Male
  • Female
  • Age
  • Adult
  • Child
  • Definable
  • Carinvore
  • Herbivore
  • Child
  • Parent
  • Mother
  • Father
  • Food Animal
  • Draft Animal

18
Reorganise everything but definable things into
pure trees these will be the primitives
  • Relations
  • eats
  • owns
  • parent-of
  • Primitives
  • Living Thing
  • Animal
  • Mammal
  • Cat
  • Dog
  • Cow
  • Person
  • Fish
  • Carp Goldfish
  • Plant
  • Tree
  • Grass
  • Fruit
  • Modifiers
  • Domestication
  • Domestic
  • Wild
  • Use
  • Draft
  • Food
  • pet
  • Risk
  • Dangerous
  • Safe
  • Sex
  • Male
  • Female
  • Age
  • Adult
  • Child
  • Definables
  • Carnivore
  • Herbivore
  • Child
  • Parent
  • Mother
  • Father
  • Food Animal
  • Draft Animal

19
Set domain and range constraints for properties
  • Animal eats Living_thing
  • eats domain Animal range
    Living_thing
  • Person owns Living_thing except person
  • owns domain Person range
    Living_thing not Person
  • Living_thing parent_of Living_thing
  • parent_of domain Animal
    range Animal

20
Define the things that are definable from the
primitives and relations
  • Parent Animal and parent_of some Animal
  • Herbivore Animal and eats only Plant
  • Carnivore Animal and eats only Animal

21
Which properties can be filled inat the class
level now?
  • What can we say about all members of a class?
  • eats
  • All cows eat some plants
  • All cats eat some animals
  • All dogs eat some animals eat
    some plants

22
Fill in the details(can use property matrix
wizard)
23
Check with classifier
  • Cows should be Herbivores
  • Are they? why not?
  • What have we said?
  • Cows are animals and, amongst other things,
    eat some grass and eat some leafy_plants
  • What do we need to sayClosure axiom
  • Cows are animals and, amongst other things,eat
    some plants and eat only plants

24
Closure Axiom
  • Cows are animals and, amongst other things,eat
    some plants and eat only plants

Closure Axiom
25
In the tool
  • Right mouse button short cut for closure axiom
  • for any existential restriction

adds closure axiom
26
Open vs Closed World reasoning
  • Open world reasoning
  • Negation as contradiction
  • Anything might be true unless it can be proven
    false
  • Reasoning about any world consistent with this
    one
  • Closed world reasoning
  • Negation as failure
  • Anything that cannot be found is false
  • Reasoning about this world

27
Normalisation and UntanglingLet the reasoner do
multiple classification
  • Tree
  • Everything has just one parent
  • A strict hierarchy
  • Directed Acyclic Graph (DAG)
  • Things can have multiple parents
  • A Polyhierarchy
  • Normalisation
  • Separate primitives into disjoint trees
  • Link the trees with restrictions
  • Fill in the values

28
Tables are easier to manage than DAGs /
Polyhierarchies
and get the benefit of inferenceGrass and
Leafy_plants are both kinds of Plant
29
Remember to add any closure axioms
Then let the reasoner do the work
30
NormalisationFrom Trees to DAGs
  • Before classification
  • A tree
  • After classification
  • A DAG
  • Directed Acyclic Graph

31
Part II Useful Patterns
(continued)
  • Upper ontologies Domain ontologies
  • Building from trees and untangling
  • Using a classifier
  • Closure axioms Open World Reasoning
  • Specifying Values
  • n-ary relations

32
Examine the modifier list
  • Identify modifiers that have mutually exclusive
    values
  • Domestication
  • Risk
  • Sex
  • Age
  • Make meaning precise
  • Age ? Age_group
  • NB Uses are not mutually exclusive
  • Can be both a draft (pulling) and a food animal
  • Modifiers
  • Domestication
  • Domestic
  • Wild
  • Use
  • Draft
  • Food
  • Risk
  • Dangerous
  • Safe
  • Sex
  • Male
  • Female
  • Age
  • Adult
  • Child

33
Extend and complete lists of values
  • Identify modifiers that have mutually exclusive
    values
  • Domestication
  • Risk
  • Sex
  • Age
  • Make meaning precise
  • Age ? Age_group
  • NB Uses are not mutually exclusive
  • Can be both a draft and a food animal
  • Modifiers
  • Domestication
  • Domestic
  • Wild
  • Feral
  • Risk
  • Dangerous
  • Risky
  • Safe
  • Sex
  • Male
  • Female
  • Age
  • Infant
  • Toddler
  • Child
  • Adult
  • Elderly

34
Note any hierarchies of values
  • Identify modifiers that have mutually exclusive
    values
  • Domestication
  • Risk
  • Sex
  • Age
  • Make meaning precise
  • Age ? Age_group
  • NB Uses are not mutually exclusive
  • Can be both a draft and a food animal
  • Modifiers
  • Domestication
  • Domestic
  • Wild
  • Feral
  • Risk
  • Dangerous
  • Risky
  • Safe
  • Sex
  • Male
  • Female
  • Age
  • Child
  • Infant
  • Toddler
  • Adult
  • Elderly

35
Specify Values for each Two methods
  • Value partitions
  • Classes that partition a Quality
  • The disjunction of the partition classes equals
    the quality class
  • Symbolic values
  • Individuals that enumerate all states of a
    Quality
  • The enumeration of the values equals the quality
    class

36
Method 1 Value Partitions- example
Dangerousness
  • A parent quality Dangerousness
  • Subqualities for each degree
  • Dangerous, Risky, Safe
  • All subqualities disjoint
  • Subqualities cover parent quality
  • Dangerousness Dangerous OR Risky OR Safe
  • A functional property has_dangerousness
  • Range is parent quality, e.g. Dangerousness
  • Domain must be specified separately
  • Dangerous_animal Animal and
    has_dangerousness some Dangerous

37
as created by Value Partition wizard
covering axiom
quality
partitions
38
Value partitionsDiagram
Animal
Dangerousanimal
has_dangerousnesssomeValuesFrom
Risky
Dangerous
Leo theLion
has_dangerousness
Dangerousness
LeosDanger
Safe
39
Value partitions UML style
Animal
Dangerousness_Value
owlunionOf
has_dangerousnesssomeValuesFrom
DangerousAnimal
Safe_value
Risky_value
Dangerous_value
Leo theLion
LeosDangerousness
has_dangerousness
40
Method 2 Value sets Example Sex
  • There are only two sexes
  • Can argue that they are things
  • Administrative sex definitely a thing
  • Biological sex is more complicated

41
Method 2 Value sets-example Sex
  • A parent quality Sex_value
  • Individuals for each value
  • male, female
  • Values all different (NOT assumed by OWL)
  • Value type is enumeration of values
  • Sex_value male, female
  • A functional property has_sex
  • Range is parent quality, e.g. Sex_value
  • Domain must be specified separately
  • Male_animal Animal and has_sex is male

42
Value sets UML style
Person
SexValue
owloneOf
has_sex
Man
female
male
has_sex
John
43
Issues in specifying values
  • Value Partitions
  • Can be subdivided and specialised
  • Fit with philosophical notion of a quality space
  • 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 data bases no interpretation
  • Work less well with existing classifiers

44
Value partitions practical reasons for
subdivisions
  • All elderly are adults
  • All infants are children
  • etc.
  • See also Normality_status inhttp//www.cs.man.
    ac.uk/rector/ontologies/mini-top-bio
  • One can have complicated value partitions if
    needed.

45
Picture of subdivided value partition
Age_Group_value
46
More defined kinds of animals
  • After classification, DAGs
  • Before classification, trees

47
Part III Hands On
  • Be sure you have installed the software
  • (See front page)
  • Open Animals-tutorial-step-1

48
Explore the interface
49
Explore the interface
New Subclassicon
AssertedHierarchy
ClassDescription
DisjointClasses
50
Explore the interface
Add superclass
New restriction
New expression
Description Necessary
Conditions
51
Explore the interface
DefinitionNecessary SufficientConditions
Defined class has necessary
sufficient conditions ( )
52
Explore the interface
Classify button (racer must be running)
Or some other DIG compliant classifier
53
Exercise 1
  • Create a new animal, an Elephant and an Ape
  • Make them disjoint from the other animals
  • Make the ape an omnivore
  • eats animals and eats plants
  • Make the sheep a herbivore
  • eats plants and only plants

54
Exercise 1b Classification
  • Check it with the classifier
  • Is Sheep classified under Herbivore
  • If not, have you forgot the closure axiom?
  • Did it all turn red?
  • Do you have too many disjoint axioms?

55
Exercise 1c checking disjoints make things
that should be inconsistent
  • Create a Probe_Sheep_and_Cow that is a kind of
    both Sheep and Cow
  • Create a Probe_Ape_and_Man that is a kind of both
    Ape and Man
  • Run the classifier
  • Did both probes turn red?
  • If not, check the disjoints

56
Exercise 1d Using Unit Tests
  • Right click on each of the Probe classes and
    select Edit Unit Test Information
  • Mark each class as unsatisfiable
  • From the tools menu select
  • OWL Unit Testing--gt Run Unit Tests
  • The Unit tests should be ticked
  • I.e. the classes were correctly found to be
    unsatisfiable.

57
Exercise 2 A new value partition
  • Create a new value partition
  • Size_partition
  • Big
  • Medium
  • Small
  • Describe
  • Lions, Cows, and Elephants as Big domestic_cat
    as Small the rest Medium

58
Exercise 2b
  • Define Big_animal and Small_animal
  • Does the classification work
  • Extra
  • Make a subdivision of Big for Huge and make
    elephants Huge
  • Do elephants still classify as Big Animal

59
Part IV Patterns n-ary relations
  • Upper ontologies Domain ontologies
  • Building from trees and untangling
  • Using a classifier
  • Closure axioms Open World Reasoning
  • Specifying Values
  • n-ary relations

60
Saying something about a restriction
  • Not just
  • that an a book is good but who said so
  • And its price
  • And where to buy it
  • But can say nothing about properties
  • except special thing
  • Super and subproperties
  • Functional, transitive, symmetric

61
N-ary Relations
Binary Relation
"LionsLife in the Pride"
excellent
quality
  • According to whom?

62
Adding attributes to a Relation
NY Times Book review
"LionsLife in the Pride"
excellent
quality
63
Define a class for a relation Reification
Class Description
instance-of
Description_1 Quality Excellent Source NY
Times Book review
quality description
"LionsLife in the Pride"
64
A Relation Between Multiple Participants
John buys LionsLife in the Pride from
books.com for 15
  • Participants in this relation
  • John
  • Lions Life in the Pride
  • books.com
  • 15
  • No clear originator

65
Network of Participants
Class Purchase
This Purchase
buyer
price
John
15
seller
object
"LionsLife in the Pride"
books.com
66
Considerations
  • Choosing the right pattern often subjective
  • Pattern 1 additional attributes for a relation
  • Pattern 2 a network of participants
  • Instances of reified relations usually dont have
    meaningful names
  • Defining inverse relations is more tricky

67
(No Transcript)
68
Qualified cardinality constraints
  • Use with partonomy
  • Use with n-ary relations

69
Cardinality Restrictions
  • All mammals have four limbs
  • All Persons have two legs and two arms
  • (All mammals have two forelimbs and two hind
    limbs)

70
What we would like to sayQualified cardinality
constraints
  • Mammal has_part cardinality4 Limb
  • Mammal has_part cardinality 2 Forelimb
    has_part cardinality 2 Hindlimb
  • Arm Forelimb AND is_part_of some Person

Glossary Forelimb front leg or arm
Hindlimb back leg
71
What we have to say in OWL
  • The property has_part has subproperties
    has_limb
    has_leg has_arm
    has_wing
  • Mammal, Reptile, Bird has_limb
    cardinality4Person has_leg
    cardinality2Cow, Dog, Pig has_leg
    cardinality4Bird has_leg cardinality2
  • Biped Animal AND has_leg cardinality2

72
Classification of bipeds and quadrupeds
  • Before classification
  • Afterclassificaiton

73
Cardinality and n-ary relations
  • Need to control cardinality of relations
    represented as classes
  • An animal can have just 1 dangerousness
  • Requires a special subproperty of quality
  • has_dangerousness_quality cardinality1

74
Re-representing the property has_danger asthe
class Risk
75
In OWL must add subproperty for each qualityto
control cardinality, e.g. has_risk_quality
specialsubproperty of has_quality
  • Leads to a proliferation of subproperties
  • The issue of Qualified Cardinality Constraints

76
Part VII Summary
  • Upper ontologies Domain ontologies
  • Building from trees and untangling
  • Using a classifier
  • Closure axioms Open World Reasoning
  • Specifying Values
  • n-ary relations
  • Part-whole relations
  • Transitive properties
  • Qualified cardinality restrictions

77
End
  • To find out more
  • http//www.co-ode.org
  • Comprehensive tutorial and sample ontologiesxz
  • http//protege.stanford.org
  • Subscribe to mailing lists participate in forums
  • On the SW in generalsemanticweb_at_yahoogroups.com
  • For specific feedback to SWBP
  • Home Mail Archive http//www.w3.org/2001/sw/Bes
    tPractices/public-swbp-wg_at_w3.org

78
(No Transcript)
79
Elephant TrapsPart 1
  • Some does not imply onlyOnly does not imply
    some
  • Trivial satisfaction of universal restrictions
  • Domain and Range Constraints
  • What to do when it all turns red

80
someValuesFrom means some
  • someValuesFrom means some means at least 1
  • Dog_owner complete Person and hasPet
    someValuesFrom Dog
  • meansA Pet_owner is any person who has as a pet
    some (i.e. at least 1) dog
  • Dog_owner partial Person and hasPet
    someValuesFrom Dog
  • means All Pet_owners are people and have as a
    pet some (i.e. at least 1) dog.

81
allValuesFrom means only
  • allValuesFrom means only means no values
    except
  • First_class_lounge complete Lounge and
    hasOccupants allValuesFrom FirstClassPassengers
  • Means A first class lounge is any lounge
    where the occupants are only first class
    passengers orA first class lounge is any
    lounge where there are no occupants except first
    class passengers
  • First_class_lounge partial Lounge and
    hasOccupants allValuesFrom FirstClassPassengers
  • MeansAll first class lounges have only
    occupants who are first class passengersAll
    first class lounges have no occupants except
    first class passengersAll first class lounges
    have no occupants who are not first class
    passengers

82
Some does not mean only
  • A dog owner might also own cats, and rats, and
    guinea pigs, and
  • It is an open world, if we want a closed world we
    must add a closure restriction or axiom
  • Dog_only_owner complete Person and hasPet
    someValuesFrom Dog and
    hasPet allValuesFrom Dog
  • A closure restriction or closure axiom
  • The problem in making maguerita pizza a vegie
    pizza
  • Closure axioms use or (disjunction)
  • dog_and_cat_only_owner complete hasPet
    someValuesFrom Dog and hasPet someValuesFrom
    Cat and hasPet allValuesFrom (Dog or Cat)

83
Only does not mean some
  • There might be nobody in the first class lounge
  • That would still satisfy the definition
  • It would not violate the rules
  • A pizza with no toppings satisfies the definition
    of a vegetarian pizza
  • Pizza has_topping_ingredient allValuesFrom
    Vegetarian_topping
  • It has no toppings which are meat
  • It has not toppings which are not vegetables
  • It has no toppings which arent fish
  • Analogous to the empty set is a subset of all
    sets
  • One reason for a surprising subsumption is that
    you have made it impossible for there to be any
    toppings
  • allValuesFrom (cheese and tomato)

84
Trivial Satisfiability
  • A universal (only) restriction with an
    unsatisfiable filler is trivially satisfiable
  • i.e. it can be satisfied by the case where there
    is no filler
  • If there is an existential or min-cardinality
    restriction, inferred or explicit, then the class
    will be unsatisfiable
  • Can cause surprising late bugs

85
Domain Range Constraints Part 2
  • Actually axioms
  • Property P range( RangeClass) means
  • owlThing restriction(P allValuesFrom
    RangeClass)
  • Property P domain( DomainClass )means
  • owlThing restriction(inverse(P)
    allValuesFrom DomainClass)

86
What happens if violated
  • Actually axioms
  • Property eats range( LivingThing) means
  • owlThing restriction(P allValuesFrom
    LivingThing)
  • Bird eats some Rock
  • All StoneEater eats some rocks
  • What does this imply about rocks?
  • Some rocks are living things
  • because only living things can be eaten
  • What does this say about all rocks?

87
Domain Range Constraints
  • Actually axioms
  • Property eats domain( LivingThing )means
  • owlThing restriction(inverse(eats)
    allValuesFrom LivingThing)
  • Only living things eat anything
  • StoneEater eats some Stone
  • All StoneEaters eat some Stone
  • Therefore All StoneEaters are living things
  • If StoneEaters are not already classified as
    living things, the classifier will reclassify
    (coerce) them
  • If StoneEaters is disjoint from LivingThing it
    will be found disjoint

88
Example of Coercion by Domain violation
  • has_topping domain(Pizza) range(Pizza_topping)c
    lass Ice_cream_cone has_topping some Ice_cream
  • If Ice_cream_cone and Pizza are not disjoint
  • Ice_cream_cone is classified as a kind of Pizza
  • but Ice_cream is not classified as a kind of
    Pizza_topping
  • Have shown that
    all Ice_cream_cones are a kinds of Pizzas,but
    only that some
    Ice_cream is a kind of Pizza_topping
  • Only domain constraints can cause
    reclassification

89
Domain Range ConstraintsNon-Obvious
Consequences
  • Range constraint violations unsatisfiable or
    ignored
  • If filler and RangeClass are disjoint
    unsatisfiable
  • Otherwise nothing happens!
  • Domain constraint violations unsatisfiable or
    coerced
  • If subject and DomainClass are disjoint
    unsatisfiable
  • Otherwise, subject reclassified (coerced) to
    kind of DomainClass!
  • Furthermore cannot be fully checked before
    classification
  • although tools can issue warnings.

90
Part 3 What to do when Its all turned red
Dont Panic!
  • Unsatisfiability propagates so trace it to its
    source
  • Any class with an unsatisfiable filler in a
    someValuesFor (existential) restriction is
    unsatisfiable
  • Any subclass of an unsatisfiable class is
    unsatisfiable
  • Therefore errors propagate, trace them back to
    their source
  • Only a few possible sources
  • Violation of disjoint axioms
  • Unsatisfiable expressions in some restrictions
  • Confusion of and and or
  • Violation of a universal (allValuesFrom)
    constraint(including range and domain
    constraints)
  • Unsatisfiable domain or range constraints
  • Tools coming - Try the debugger

91
End
  • To find out more
  • http//www.co-ode.org
  • Comprehensive tutorial and sample ontologiesxz
  • http//protege.stanford.org
  • Subscribe to mailing lists participate in forums
  • On the SW in generalsemanticweb_at_yahoogroups.com
  • For specific feedback to SWBP
  • Home Mail Archive http//www.w3.org/2001/sw/Bes
    tPractices/public-swbp-wg_at_w3.org

92
Part VI Hands On supplement
  • Open Animals-tutorial-step-2

93
Exercise 3 (Advanced supplement)
  • Load Animals-Tutorial-complete.pprj
  • Define a new kind of Limb Wing
  • Describe birds as having 2 wings
  • Define a Two-Winged_animal
  • Does bird classify under Two-Winged_animal?
About PowerShow.com