1 owl the web ontology language w3c standard collision of daml (frames) and oil (dls in frame...

91
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)

Upload: gilbert-parrish

Post on 29-Dec-2015

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

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)

Page 2: 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

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

Page 3: 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

3

A simple ontology: Animals

Living Thing

Grass

Animal

Plant

Tree

Body Part

Arm

Leg

Person

Cow

Carnivore

Herbivoreeats

eats

eats

has part

Page 4: 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

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

Page 5: 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

5

Description Logics

Underneath: computationally tractable subsets of first order logic

Describes relations between Concepts/Classes Individuals secondary

DL Ontologies are NOT databases!

Page 6: 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

6

Description Logics:A brief history Informal Semantic Networks and Frames (pre 1980)

Wood: What’s in a Link; Brachman What IS-A is and IS-A isn’t. 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

Page 7: 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

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) DAML+OIL OWL

Development of Protégé-OWL

A dynamic field – constant new developments & possibilities

Page 8: 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

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

Page 9: 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

9

Contributing to “best practice”

Please give us feedback Your questions and experience

On the SW in general:[email protected]

For specific feedback to SWBP Home & Mail Archive:

http://www.w3.org/2001/sw/BestPractices/[email protected]

Page 10: 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

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

Don’t beat your head against a brick wall! Look to see if others have had the same problem; If not… ASK!

We are all learning.

Page 11: 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

11

Part II – Creating an ontology Useful patterns

Upper ontologies & Domain ontologies Upper ontologies & Domain ontologies Building from trees and untangling Using a classifier Closure axioms Specifying Values n-ary relations Part-whole relations

Page 12: 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

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

Page 13: 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

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

Page 14: 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

14

Part II – Useful Patterns (continued)

Upper ontologies & Domain ontologies Building from trees and untanglingBuilding from trees and untangling Using a classifierUsing a classifier Closure axioms & Open World ReasoningClosure axioms & Open World Reasoning Specifying Values n-ary relations

Page 15: 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

15

Example: Animals & Plants Dog Cat Cow Person Tree Grass Herbivore Male Female

Dangerous Pet Domestic Animal Farm animal Draft animal Food animal Fish Carp Goldfish

Carnivore Plant Animal Fur Child Parent Mother Father

Page 16: 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

16

Example: Animals & Plants Dog Cat Cow Person Tree Grass Herbivore Male Female

Healthy Pet Domestic Animal Farm animal Draft animal Food animal Fish Carp Goldfish

Carnivore Plant Animal Fur Child Parent Mother Father

Page 17: 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

17

Choose some main axesAdd abstractions where needed; identify relations; Identify definable things, make names explicit

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

Relations eats owns parent-of …

Page 18: 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

18

Reorganise everything but “definable” things into pure trees – these will be the “primitives”

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

Relations eats owns parent-of …

Page 19: 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

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

Page 20: 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

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

Page 21: 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

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

Page 22: 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

22

Fill in the details(can use property matrix wizard)

Page 23: 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

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 say:Closure axiom

Cows are animals and, amongst other things,eat some plants and eat only plants

Page 24: 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

24

Closure Axiom Cows are animals and, amongst other things,

eat some plants and eat only plants

ClosureAxiom

Page 25: 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

25

In the tool

adds closure axiom

Right mouse button short cut for closure axiom for any existential

restriction

Page 26: 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

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

Page 27: 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

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

Page 28: 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

28

Tables are easier to manage than DAGs / Polyhierarchies

…and get the benefit of inference:Grass and Leafy_plants are both kinds of Plant

Page 29: 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

29

Remember to add any closure axioms

Then let the reasoner do the work

ClosureAxiom

Page 30: 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

30

Normalisation:From Trees to DAGs

Before classification A tree

After classification A DAG

Directed Acyclic Graph

Page 31: 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

31

Part II – Useful Patterns (continued)

Upper ontologies & Domain ontologies Building from trees and untangling Using a classifier Closure axioms & Open World Reasoning Specifying ValuesSpecifying Values n-ary relations

Page 32: 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

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

Page 33: 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

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

Page 34: 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

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

Page 35: 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

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

Page 36: 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

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

Page 37: 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

37

as created by Value Partition wizard

disjointspartitions

covering axiomquality

Page 38: 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

38

DangerousRisky

Safe

Leo’sDanger

Dangerousanimal

Leo theLion

has_danger

ousness

someValuesFro

m

has_dang

erousnes

s

Value partitionsDiagram

Dangerousness

Animal

Page 39: 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

39

Dangerousness_Value

Safe_value

Risky_value

Dangerous_value

Animal

DangerousAnimal

Leo theLion

Leo’sDangerousness

owl:unionOf

has_dangerousness

has_dangerousnesssomeValuesFrom

Value partitions UML style

Page 40: 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

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

Page 41: 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

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

Page 42: 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

42

Value sets UML style

SexValue

Person

Man

John

owl:oneOf

has_sex

has_sex

female male

Page 43: 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

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

Page 44: 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

44

Value partitions – practical reasons for subdivisions

See also “Normality_status” inhttp://www.cs.man.ac.uk/~rector/ontologies/mini-top-bio

One can have complicated value partitions if needed.

“All elderly are adults” “All infants are children” etc.

Page 45: 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

45

Picture of subdivided value partition

Adult_value Child_value

Elderly_ value

Infant_ value

Toddler_ value

Age_Group_value

Page 46: 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

46

More defined kinds of animals

Before classification, trees After classification, DAGs

Page 47: 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

47

Part III – Hands On

Be sure you have installed the software (See front page)

Open Animals-tutorial-step-1

Page 48: 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

48

Explore the interface

Page 49: 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

49

Explore the interface

AssertedHierarchy

New Subclassicon

ClassDescription

DisjointClasses

Page 50: 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

50

Explore the interface

Newexpression

Newrestriction

Addsuperclass

Description “Necessary Conditions”

Page 51: 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

51

Explore the interface

Definition“Necessary &SufficientConditions”

“Defined class” has necessary & sufficient conditions ( )

Page 52: 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

52

Explore the interfaceClassify button (racer must be running*)

*Or some other DIG compliant classifier

Page 53: 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

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

Page 54: 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

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?

Page 55: 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

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

Page 56: 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

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”--> “Run Unit Tests”

The Unit tests should be ticked I.e. the classes were correctly found to be unsatisfiable.

Page 57: 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

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

Page 58: 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

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

Page 59: 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

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 relationsn-ary relations

Page 60: 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

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

Page 61: 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

N-ary Relations

Binary Relation

According to whom?

"Lions:Life in the Pride"

excellentquality

Page 62: 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

Adding attributes to a Relation

"Lions:Life in the Pride"

excellent

NY TimesBook review

quality

Page 63: 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

Define a class for a relation: Reification

"Lions:Life in the Pride"

Description_1

Quality: ExcellentSource: NY Times Book review

qualitydescription

Class: Description

instance-of

Page 64: 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

A Relation Between Multiple Participants

John buys “Lions:Life in the Pride” from books.com for $15

Participants in this relation: John “Lions: Life in the Pride” books.com $15

No clear “originator”

Page 65: 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

Network of Participants

John

Class: Purchase

This Purchase

$15

"Lions:Life in the Pride"

books.com

buyerobject seller

price

Page 66: 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

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 don’t have meaningful names

Defining inverse relations is more tricky

Page 67: 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

68

Qualified cardinality constraints

Use with partonomy Use with n-ary relations

Page 68: 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

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)”

Page 69: 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

70

What we would like to say:Qualified cardinality constraints

Mammalhas_part cardinality=4 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

Page 70: 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

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 cardinality=4Person has_leg cardinality=2Cow, Dog, Pig… has_leg cardinality=4Bird has_leg cardinality=2

Biped = Animal AND has_leg cardinality=2

Page 71: 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

72

Classification of bipeds and quadrupeds

Before classification

Afterclassificaiton

Page 72: 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

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 cardinality=1

Page 73: 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

74

Re-representing the property has_danger asthe class Risk

Animal Dangeroushas_dangercardinality=1‘functional’

Animal Riskhas_Qualitycardinality=1

Risk_type

Seriousness

Avoidance

has_risk_typ

e

cardina

lity=1

has_seriousnesscardinality=1has_avoidance

cardinality=1

Page 74: 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

75

In OWL must add subproperty for each qualityto control cardinality, e.g. has_risk_quality

Leads to a proliferation of subproperties The issue of “Qualified Cardinality Constraints”

Animal Riskhas_Risk_Qualitycardinality=1

Risk_type

Seriousness

Avoidance

has_risk_typ

e

cardina

lity=1

has_seriousnesscardinality=1has_avoidance

cardinality=1

specialsubproperty of has_quality

Page 75: 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

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

Page 76: 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

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 general:[email protected]

For specific feedback to SWBP Home & Mail Archive:

http://www.w3.org/2001/sw/BestPractices/[email protected]

Page 77: 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

79

“Elephant Traps”:Part 1

‘Some’ does not imply only‘Only’ does not imply some’

Trivial satisfaction of universal restrictions Domain and Range Constraints What to do when it all turns red

Page 78: 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

80

someValuesFrom means “some”

someValuesFrom means “some” means “at least 1” Dog_owner complete

Person and hasPet someValuesFrom Dog means:

A Pet_owner is any person who has as a pet some (i.e. at least 1) dog

Dog_owner partialPerson and hasPet someValuesFrom Dog

means All Pet_owners are people and have as a pet some (i.e. at least 1) dog.

Page 79: 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

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” or“A first ‘class lounge’ is any lounge where there are no occupants except first class passengers”

First_class_lounge partial Lounge and hasOccupants allValuesFrom FirstClassPassengers

Means“All first class lounges have only occupants who are first class passengers”“All first class lounges have no occupants except first class passengers”“All first class lounges have no occupants who are not first class passengers”

Page 80: 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

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)

Page 81: 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

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 aren’t 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)

Page 82: 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

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

Page 83: 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

85

Domain & Range Constraints: Part 2

Actually axioms Property P range( RangeClass)

means owl:Thing

restriction(P allValuesFrom RangeClass)

Property P domain( DomainClass )means

owl:Thing restriction(inverse(P) allValuesFrom DomainClass)

Page 84: 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

86

What happens if violated

Actually axioms Property eats range( LivingThing)

means owl:Thing

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”?

Page 85: 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

87

Domain & Range Constraints

Actually axioms Property eats domain( LivingThing )

means owl:Thing

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

Page 86: 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

88

Example of Coercion by Domain violation

has_topping: domain(Pizza) range(Pizza_topping)

class Ice_cream_conehas_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

Page 87: 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

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.

Page 88: 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

90

Part 3: What to do when “Its all turned red”

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

Don’t Panic!Don’t Panic!

Page 89: 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

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 general:[email protected]

For specific feedback to SWBP Home & Mail Archive:

http://www.w3.org/2001/sw/BestPractices/[email protected]

Page 90: 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

92

Part VI – Hands On supplement

Open Animals-tutorial-step-2

Page 91: 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

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?