Knowledge Representation in Protg OWL Please install from

  • Slides: 130
Download presentation
Knowledge Representation in Protégé –OWL Please install from CDs or USB pens provided: n

Knowledge Representation in Protégé –OWL Please install from CDs or USB pens provided: n http: //www. co-ode. org/resources/tutorials/iswc 2005 n Protégé n See n n n 1 3. 2 Beta – complete installation instructions for other software on web site You will need At least one classifier - Racer, Fa. CT++ and/or Pellet Graphviz The example ontologies The CO-ODE plugins not bundled with 3. 2 beta (a single zip on web site)

Ontology Design Patterns and Problems:

Ontology Design Patterns and Problems:

Program I Ontologies and “Best Practice” II Creating an ontology – useful patterns III

Program I Ontologies and “Best Practice” II Creating an ontology – useful patterns III Hands on examples IV Patterns: n-ary relations V Patterns: classes as values VI Patterns: part-whole relations VII Summary 3

Part I: Ontologies & “Best Practice” What are Ontologies & a review of History

Part I: Ontologies & “Best Practice” What are Ontologies & a review of History n Semantic Web n OWL n “Best Practice” n n 4 Semantic Web Best Practice & Deployment Working Group (SWBP)

What Is An Ontology? n n n Ontology (Socrates & Aristotle 400 -360 BC)

What Is An Ontology? n n n Ontology (Socrates & Aristotle 400 -360 BC) The study of being Word borrowed by computing for the explicit description of the conceptualisation of a domain: n n n An ontology defines n n 5 concepts properties and attributes of concepts constraints on properties and attributes Individuals (often, but not always) a common vocabulary a shared understanding

Why Develop an Ontology? n To share common understanding of the structure of descriptive

Why Develop an Ontology? n To share common understanding of the structure of descriptive information n n To enable reuse of domain knowledge n n 6 among people among software agents between people and software to avoid “re-inventing the wheel” to introduce standards to allow interoperability

Measure the world…quantitative models (not ontologies) n Quantitative n Numerical data: n n n

Measure the world…quantitative models (not ontologies) n Quantitative n Numerical data: n n n Unambiguous tokens Main problem is accuracy at initial capture Numerical analysis (e. g. statistics) well understood Examples: n n n 7 2 mm, 2. 4 V, between 4 and 5 feet How big is this breast lump? What is the average of patients with cancer ? How much time elapsed between original referral and first appointment at the hospital ?

describe the our understanding of the world - ontologies n Qualitative n Descriptive data

describe the our understanding of the world - ontologies n Qualitative n Descriptive data n n Cold, colder, blueish, not pink, drunk Ambiguous tokens n What’s wrong with being drunk ? n n Accuracy poorly defined Automated analysis or aggregation is a new science Examples n n n 8 Ask a glass of water. Which animals are dangerous ? What is their coat like? What do animals eat ?

More Reasons n n To make domain assumptions explicit n easier to change domain

More Reasons n n To make domain assumptions explicit n easier to change domain assumptions (consider a genetics knowledge base) n easier to understand update legacy data To separate domain knowledge from the operational knowledge n n 9 re-use domain and operational knowledge separately (e. g. , configuration based on constraints) To manage the combinatorial explosion

An Ontology should be just the Beginning Ontologies Provide domain description Software agents 10

An Ontology should be just the Beginning Ontologies Provide domain description Software agents 10 Problemsolving methods Declare structure The “Semantic Web” Domainindependent applications Databases Knowledge bases

Outline What are Ontologies n Semantic Web n OWL n Best Practice n 11

Outline What are Ontologies n Semantic Web n OWL n Best Practice n 11

The semantic web n Tim Berners-Lee’s dream of a computable meaningful web n n

The semantic web n Tim Berners-Lee’s dream of a computable meaningful web n n Now critical to Web Services and Grid computing Metadata with everything n Machine understandable! n 12 Ontologies are one of the keys

Understanding rather than text matching n 13 Google image results for n Charlie Safran

Understanding rather than text matching n 13 Google image results for n Charlie Safran n Mark Musen n Alan Rector

Ontology Examples n Taxonomies on the Web n n Catalogs for on-line shopping n

Ontology Examples n Taxonomies on the Web n n Catalogs for on-line shopping n n n Amazon. com product catalog Dublin Core and other standards for the Web Domain independent examples n n 14 Yahoo! categories Ontoclean Sumo

Ontology Technology n “Ontology” covers a range of things n Controlled vocabularies – e.

Ontology Technology n “Ontology” covers a range of things n Controlled vocabularies – e. g. Me. SH n n n 15 Linguistic structures – e. g. Word. Net Hierarchies (with bells and whistles) – e. g. Gene Ontology Frame representations – e. g. FMA Description logic formalisms – Snomed-CT, GALEN, OWL-DL based ontologies Philosophically inspired e. g. Ontoclean and SUMO

Outline What are Ontologies n Semantic Web n OWL n Best Practice n 16

Outline What are Ontologies n Semantic Web n OWL n Best Practice n 16

OWL The Web Ontology Language n n n W 3 C standard Collision of

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

Note on syntaxes for OWL n Three official syntaxes + Protégé-OWL syntax n n

Note on syntaxes for OWL n Three official syntaxes + Protégé-OWL syntax n n n This tutorial uses simplified abstract syntax n n n 18 Abstract syntax -Specific to OWL N 3 -OWL & RDF -used in all SWBP documents XML/RDF -very verbose Protégé-OWL -Compact, derived from DL syntax some. Values. From all. Values. From intersection. Of union. Of OR complement. Of some only AND not Protégé/OWL can generate all syntaxes

A simple ontology: Animals Living Thing Body Part eats has part Plant Arm Animal

A simple ontology: Animals Living Thing Body Part eats has part Plant Arm Animal Leg eats Herbivore Tree Person Carnivore Cow 19 Grass

Description Logics n What the logicians made of Frames n Greater expressivity and semantic

Description Logics n What the logicians made of Frames n Greater expressivity and semantic precision n Compositional definitions n n To allow automatic classification & consistency checking n The mathematics of classification is tricky n Some seriously counter-intuitive results n 20 “Conceptual Lego” – define new concepts from old The basics are simple – devil in the detail

Description Logics n Underneath: n n computationally tractable subsets of first order logic Describes

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

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

Description Logics: A brief history n Informal Semantic Networks and Frames (pre 1980) n n First Formalisation (1980) n n Wood: What’s in a Link; Brachman What IS-A is and IS-A isn’t. Bobrow KRL, Brachman: KL-ONE All useful systems are intractable (1983) n Brachman & Levesque: A fundamental tradeoff n n All tractable systems are useless (1987 -1990) n 22 Hybrid systems: T-Box and A-Box Doyle and Patel: Two dogmas of Knowledge Representation

A brief history of KR n ‘Maverick’ incomplete/intractable logic systems (1985 -90) n n

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

Outline What are Ontologies n Semantic Web n OWL n “Best Practice” n n

Outline What are Ontologies n Semantic Web n OWL n “Best Practice” n n 24 Semantic Web Best Practice & Deployment Working Group (SWBP)

Why the “Best Practice working Group”? n There is no established “best practice” n

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

Contributing to “best practice” n Please give us feedback n Your questions and experience

Contributing to “best practice” n Please give us feedback n Your questions and experience n On the SW in general: semanticweb@yahoogroups. com n For specific feedback to SWBP n 26 Home & Mail Archive: http: //www. w 3. org/2001/sw/Best. Practices/ public-swbp-wg@w 3. org

Protégé OWL: New tools for ontologies n n 27 Transatlantic collaboration Implement robust OWL

Protégé OWL: New tools for ontologies n n 27 Transatlantic collaboration Implement robust OWL environment within PROTÉGÉ framework Shared UI components Enables hybrid working

Protégé-OWL & CO-ODE n Joint work: Stanford & U Manchester + Southampton & Epistemics

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

Part II – Creating an ontology Useful patterns n n n n 29 Upper

Part II – Creating an ontology Useful patterns n n n n 29 Upper ontologies & Domain ontologies Building from trees and untangling Using a classifier Closure axioms Specifying Values n-ary relations Classes as values – using the ontology Part-whole relations

Upper Ontologies n Ontology Schemas n High level abstractions to constrain construction n n

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

Domain Ontologies n Concepts specific to a field n n Diseases, animals, food, art

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

Part II – Useful Patterns (continued) n n n n 32 Upper ontologies &

Part II – Useful Patterns (continued) n n n n 32 Upper ontologies & Domain ontologies Building from trees and untangling Using a classifier Closure axioms & Open World Reasoning Specifying Values n-ary relations Classes as values – using the ontology

Example: Animals & Plants n n n n n 33 Dog Cat Cow Person

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

Example: Animals & Plants n n n n n 34 Dog Cat Cow Person

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

Choose some main axes Add abstractions where needed; identify relations; Identify definable things, make

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

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

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

Set domain and range constraints for properties n Animal eats Living_thing n n Person

Set domain and range constraints for properties n Animal eats Living_thing n n Person owns Living_thing except person n n owns domain: Person range: Living_thing & not Person Living_thing parent_of Living_thing n 37 eats domain: Animal; range: Living_thing parent_of: domain: Animal range: Animal

Define things that are definable from the primitives and relations n n n 38

Define things that are definable from the primitives and relations n n n 38 Parent = Animal and parent_of some Animal Herbivore= Animal and eats only Plant Carnivore = Animal and eats only Animal

Which properties can be filled in at the class level now? n What can

Which properties can be filled in at the class level now? n What can we say about all members of a class? n 39 eats n All cows eat some plants n All cats eat some animals n All dogs eat some animals & eat some plants

Fill in the details (can use property matrix wizard) 40

Fill in the details (can use property matrix wizard) 40

Check with classifier n Cows should be Herbivores n Are they? why not? n

Check with classifier n Cows should be Herbivores n Are they? why not? n What have we said? n n What do we need to say: Closure axiom n 41 Cows are animals and, amongst other things, eat some grass and eat some leafy_plants Cows are animals and, amongst other things, eat some plants and eat only plants

Closure Axiom n Cows are animals and, amongst other things, eat some plants and

Closure Axiom n Cows are animals and, amongst other things, eat some plants and eat only plants Closure Axiom 42

In the tool n Right mouse button short cut for closure axiom n for

In the tool n Right mouse button short cut for closure axiom n for any existential restriction adds closure axiom 43

Open vs Closed World reasoning n Open world reasoning n Negation as contradiction n

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

Normalisation and Untangling Let the reasoner do multiple classification n Tree n n Directed

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

Tables are easier to manage than DAGs / Polyhierarchies …and get the benefit of

Tables are easier to manage than DAGs / Polyhierarchies …and get the benefit of inference: Grass and Leafy_plants are both kinds of Plant 46

Remember to add any closure axioms Closure Axiom Then let the reasoner do the

Remember to add any closure axioms Closure Axiom Then let the reasoner do the work 47

Normalisation: From Trees to DAGs n Before classification n A tree n After classification

Normalisation: From Trees to DAGs n Before classification n A tree n After classification n A DAG n 48 Directed Acyclic Graph

Part II – Useful Patterns (continued) n n n n 49 Upper ontologies &

Part II – Useful Patterns (continued) n n n n 49 Upper ontologies & Domain ontologies Building from trees and untangling Using a classifier Closure axioms & Open World Reasoning Specifying Values n-ary relations Classes as values – using the ontology

Examine the modifier list n Modifiers n n Domestication n Domestic n Wild n

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

Extend and complete lists of values n Modifiers n Domestication n Domestic n Wild

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

Note any hierarchies of values n Modifiers n Domestication n Domestic n Wild Feral

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

Specify Values for each: Two methods n Value partitions n Classes that partition a

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

Method 1: Value Partitionsexample “Dangerousness” n n A parent quality – Dangerousness Subqualities for

Method 1: Value Partitionsexample “Dangerousness” n n A parent quality – Dangerousness Subqualities for each degree n n n All subqualities disjoint Subqualities ‘cover’ parent quality n n Dangerous, Risky, Safe Dangerousness = Dangerous OR Risky OR Safe A functional property has_dangerousness n n Range is parent quality, e. g. Dangerousness Domain must be specified separately Dangerous_animal = 54 Animal and has_dangerousness some Dangerous n

as created by Value Partition wizard quality covering axiom partitions disjoints 55

as created by Value Partition wizard quality covering axiom partitions disjoints 55

Value partitions Diagram Animal ess n s u gero om n a d has_

Value partitions Diagram Animal ess n s u gero om n a d has_ alues. Fr V some Risky Dangerous Leo’s Danger Safe 56 s h Dangerousness Dangerous animal snes u o r nge a d as_ Leo the Lion

Value partitions UML style Animal Dangerousness_ Value owl: union. Of Safe_ value Risky_ value

Value partitions UML style Animal Dangerousness_ Value owl: union. Of Safe_ value Risky_ value Dangerous_ value Leo’s Dangerousness 57 has_dangerousness Dangerous some. Values. From Animal has_dangerousness Leo the Lion

Method 2: Value sets – Example Sex n There are only two sexes n

Method 2: Value sets – Example Sex n There are only two sexes n Can argue that they are things “Administrative sex” definitely a thing n “Biological sex” is more complicated n 58

Method 2: Value setsexample Sex n n A parent quality – Sex_value Individuals for

Method 2: Value setsexample Sex n n A parent quality – Sex_value Individuals for each value n n n Values all different (NOT assumed by OWL) Value type is enumeration of values n n n 59 Sex_value = {male, female} A functional property has_sex n n male, female Range is parent quality, e. g. Sex_value Domain must be specified separately Male_animal = Animal and has_sex is male

Value sets UML style Person Sex Value owl: one. Of has_sex female Man has

Value sets UML style Person Sex Value owl: one. Of has_sex female Man has _se x John 60

Issues in specifying values n Value Partitions n n n Can be subdivided and

Issues in specifying values n Value Partitions n n n Can be subdivided and specialised Fit with philosophical notion of a quality space Require interpretation to go in databases as values n n n Work better with existing classifiers in OWL-DL Value Sets n n 61 in theory but rarely considered in practice Cannot be subdivided Fit with intuitions More similar to data bases – no interpretation Work less well with existing classifiers

Value partitions – practical reasons for subdivisions n n n “All elderly are adults”

Value partitions – practical reasons for subdivisions n n n “All elderly are adults” “All infants are children” etc. n See also “Normality_status” in http: //www. cs. man. ac. uk/~rector/ontologies/mini-top-bio 62 n One can have complicated value partitions if needed.

Picture of subdivided value partition Elderly_ value Adult_value Infant_ value Toddler_ value Child_value Age_Group_value

Picture of subdivided value partition Elderly_ value Adult_value Infant_ value Toddler_ value Child_value Age_Group_value 63

More defined kinds of animals n 64 Before classification, trees n After classification, DAGs

More defined kinds of animals n 64 Before classification, trees n After classification, DAGs

Part III – Hands On n Be sure you have installed the software n

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

Explore the interface 66

Explore the interface 66

Protégé - new abbreviated abstract syntax 67 some. Values. From ∃ only all. Values.

Protégé - new abbreviated abstract syntax 67 some. Values. From ∃ only all. Values. From ∀ has. Value ∋ …and… intersection. Of(…) ⊓ …or… union. Of(…) ⊔ not complement. Of() ¬ min. Cardinality max. Cardinality exactly cardinality =, ≤, ≥ Numeric comparisons (coming soon)

Protégé Old (≤v 3. 1) Syntax 68

Protégé Old (≤v 3. 1) Syntax 68

Explore the interface New Subclass icon Asserted Hierarchy Class Description Disjoint Classes 69

Explore the interface New Subclass icon Asserted Hierarchy Class Description Disjoint Classes 69

Explore the interface New restriction Add superclass New expression Description “Necessary Conditions” 70

Explore the interface New restriction Add superclass New expression Description “Necessary Conditions” 70

Explore the interface Definition “Necessary & Sufficient Conditions” 71 “Defined class” has necessary &

Explore the interface Definition “Necessary & Sufficient Conditions” 71 “Defined class” has necessary & sufficient conditions ( )

Explore the interface Classify button (racer must be running*) *Or some other DIG compliant

Explore the interface Classify button (racer must be running*) *Or some other DIG compliant classifier 72

Exercise 1 n Create a new animal, an Elephant and an Ape n n

Exercise 1 n Create a new animal, an Elephant and an Ape n n Make them disjoint from the other animals Make the ape an omnivore n n Make the sheep a herbivore n 73 eats animals and eats plants and only plants

Exercise 1 b: Classification n n Check it with the classifier Is Sheep classified

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

Exercise 1 c: checking disjoints – make things that should be inconsistent n n

Exercise 1 c: checking disjoints – make things that should be inconsistent n n 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? n 75 If not, check the disjoints

Exercise 2: A new value partition n Create a new value partition n Size_partition

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

Exercise 2 b n Define Big_animal and Small_animal n n Does the classification work

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

Part IV – Patterns: n-ary relations n n n n 78 Upper ontologies &

Part IV – Patterns: n-ary relations n n n n 78 Upper ontologies & Domain ontologies Building from trees and untangling Using a classifier Closure axioms & Open World Reasoning Specifying Values n-ary relations Classes as values – using the ontology

Saying something about a restriction n Not just n n that an a book

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

N-ary Relations Binary Relation "Lions: Life in the Pride" n quality excellent According to

N-ary Relations Binary Relation "Lions: Life in the Pride" n quality excellent According to whom?

Adding attributes to a Relation NY Times Book review "Lions: Life in the Pride"

Adding attributes to a Relation NY Times Book review "Lions: Life in the Pride" quality excellent

Define a class for a relation: Reification Class: Description instance-of "Lions: Life in the

Define a class for a relation: Reification Class: Description instance-of "Lions: Life in the Pride" quality description Description_1 Quality: Excellent Source: NY Times Book review

A Relation Between Multiple Participants John buys “Lions: Life in the Pride” from books.

A Relation Between Multiple Participants John buys “Lions: Life in the Pride” from books. com for $15 n Participants in this relation: n n n John “Lions: Life in the Pride” books. com $15 No clear “originator”

Network of Participants Class: Purchase NY Times Book review buyer John object "Lions: Life

Network of Participants Class: Purchase NY Times Book review buyer John object "Lions: Life in the Pride" seller price books. com $15

Considerations n Choosing the right pattern: often subjective n n Pattern 1: additional attributes

Considerations n Choosing the right pattern: often subjective n n 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

Part V – Patterns: Classes as values n n n n 87 Upper ontologies

Part V – Patterns: Classes as values n n n n 87 Upper ontologies & Domain ontologies Building from trees and untangling Using a classifier Closure axioms & Open World Reasoning Specifying Values n-ary relations Classes as values – using the ontology Part-whole relations

Using Classes as Property Values dc: subject Animal Lion African Lion 88 Tiger

Using Classes as Property Values dc: subject Animal Lion African Lion 88 Tiger

Using Classes Directly As Values Animal Book. About. Animals rdfs: subclass. Of rdf: type

Using Classes Directly As Values Animal Book. About. Animals rdfs: subclass. Of rdf: type Lion dc: subject rdfs: subclass. Of African Lion 89 rdf: type "Lions: Life in the Pride" dc: subject ”The African Lion"

Representation in Protégé 90

Representation in Protégé 90

Approach 1: Considerations n n Compatible with OWL Full and RDF Schema Outside OWL

Approach 1: Considerations n n Compatible with OWL Full and RDF Schema Outside OWL DL n Because classes cannot be values in OWL-DL n 91 Nothing can be both a class and instance

Approach 2: Hierarchy of Subjects Animal Book. About. Animals rdfs: subclass. Of rdf: type

Approach 2: Hierarchy of Subjects Animal Book. About. Animals rdfs: subclass. Of rdf: type Lion rdfs: subclass. Of African Lion "Lions: Life in the Pride" rdf: type dc: subject rdf: type ”The African Lion" Lion. Subject dc: subject rdf: type African. Lion. Subject 92

Hierarchy of Subjects: Considerations n n Compatible with OWL DL Lion Instances of class

Hierarchy of Subjects: Considerations n n Compatible with OWL DL Lion Instances of class Lion are now rdf: type subjects rdfs: subclass. Of No direct relation between Lion. Subject and African Africal. Lion. Subject Lion Maintenance penalty rdf: type African. Lion. Subject 93

Hierarchy of Subjects Subject Animal Book. About. Animals rdfs: subclass. Of Lion rdf: type

Hierarchy of Subjects Subject Animal Book. About. Animals rdfs: subclass. Of Lion rdf: type rdfs: see. Also dc: subject rdfs: subclass. Of African Lion rdf: type rdfs: see. Also Lion. Subject parent. Subject African. Lion. Subject 94 "Lions: Life in the Pride" rdf: type ”The African Lion" dc: subject

Hierarchy of Subjects: Considerations n n n Compatible with OWL DL Lion Subject hierarchy

Hierarchy of Subjects: Considerations n n n Compatible with OWL DL Lion Subject hierarchy (terminology) is rdfs: subclass. Of independent of class African hierarchy (rdfs: see. Also) Lion Maintenance penalty rdfs: see. Also Subject rdf: type Lion. Subject parent. Subject African. Lion. Subject 95

Using members of a class as values Animal Book. About. Animals rdfs: subclass. Of

Using members of a class as values Animal Book. About. Animals rdfs: subclass. Of rdf: type "Lions: Life in the Pride" Lion rdfs: subclass. Of African Lion rdf: type some Unidentified Lion(s) ”The African Lion" dc: subject rdf: type some Unidentified African Lion(s) 96 rdf: type dc: subject

Representation in Protege rdf: type Note: no subject value 97

Representation in Protege rdf: type Note: no subject value 97

Considerations n n n 98 Compatible with OWL DL Interpretation: the subject is one

Considerations n n n 98 Compatible with OWL DL Interpretation: the subject is one or more specific lions, rather than the Lion class Can use a DL reasoner to classify specific books

Part VI – Patterns: Part-whole relations n n n n 99 Upper ontologies &

Part VI – Patterns: Part-whole relations n n n n 99 Upper ontologies & Domain ontologies Building from trees and untangling Using a classifier Closure axioms & Open World Reasoning Specifying Values n-ary relations Classes as values – using the ontology Part-whole relations

Part-whole relations One method: NOT a SWBP draft n n n How to represent

Part-whole relations One method: NOT a SWBP draft n n n How to represent part-whole relations in OWL is a commonly asked question SWBP will put out a draft. This is one approach that will be proposed n n n 100 It has been used in teaching It has no official standing It is presented for information only

Part Whole relations n OWL has no special constructs n n But provides (some

Part Whole relations n OWL has no special constructs n n But provides (some of) the building blocks Transitive relations n Finger is_part_of Hand is_part_of Arm is_part_of Body n n 101 Finger is_part_of Body

Many kinds of part-whole relations n Physical parts n n Geographic regions n n

Many kinds of part-whole relations n Physical parts n n Geographic regions n n 102 Hiroshima - Japan Functional parts n n hand-arm cpu – computer See Winston & Odell Artale Rosse

Simple version n One property is_part_of n transitive n 103 Finger is_part_of some Hand

Simple version n One property is_part_of n transitive n 103 Finger is_part_of some Hand is_part_of some Arm is_part_of some Body

Get a simple list n Probe_part_of_body = Domain_category is_part_of some Body n Logically correct

Get a simple list n Probe_part_of_body = Domain_category is_part_of some Body n Logically correct n 104 But may not be what we want to see

Injuries, Faults, Diseases, Etc. n A hand is not a kind of a body

Injuries, Faults, Diseases, Etc. n A hand is not a kind of a body n n A motor is not a kind of automobile n n 105 … but an injury to a hand is a kind of injury to a body … but a fault in the motor is a kind of fault in the automobile And people often expect to see partonomy hierarchies

Being more precise: “Adapted SEP Triples” n Body (‘as a whole’) n n The

Being more precise: “Adapted SEP Triples” n Body (‘as a whole’) n n The Body’s parts n n Body OR is_part_of some Body Repeat for all parts n n 106 is_part_of some Body The Body and it’s parts n n Body Use ‘Clone class’ or NB: ‘JOT’ Python plugin is good for this

Adapted SEP triples: UML like view Injury to Arm (or part of arm) has_locus

Adapted SEP triples: UML like view Injury to Arm (or part of arm) has_locus some Arm OR part of arm Part of Arm Injury to Hand 107 has_locus some Hand Forearm

Adapted SEP triples: Venn style view Arm or parts of Arm Parts of Arm

Adapted SEP triples: Venn style view Arm or parts of Arm Parts of Arm Fore Arm 108 Hand

Resulting classification: Ugly to look at, but correct 109

Resulting classification: Ugly to look at, but correct 109

Using part-whole relations: Defining injuries or faults n n n Injury_to_Hand = Injury has_locus

Using part-whole relations: Defining injuries or faults n n n Injury_to_Hand = Injury has_locus some Hand_or_part_of_hand Injury_to_Arm = Injury has_locus some Arm_or_part_of_Arm Injury_to_Body = Injury has_locus some Body_or_part_of_Body 110 n The expected hierarchy from point of view of anatomy

Caution with part of n Motor is_part_of some Car n Means “All motors are

Caution with part of n Motor is_part_of some Car n Means “All motors are part of some car” n n Obviously false! But convenient to get: Car_part = is_part_of some Car subsumes Motor n 111 To be correct must use “Car_motor = Motor and is_part_of some Car

Geographical regions and individuals n Similar representation possible for individuals but more difficult n

Geographical regions and individuals n Similar representation possible for individuals but more difficult n 112 and less well explored

Simplified view: Geographical_regions n Class: Geographical_region n Include countries, cities, provinces, … n n

Simplified view: Geographical_regions n Class: Geographical_region n Include countries, cities, provinces, … n n Geographical features n n Include Hotels, Mountains, Islands, etc. Properties: n n n 113 A detailed ontology would break them down Geographical_region Geographical_feature is_subregion_of Geographical_Region has_location Geographical_Region Features located in subregions are located in the region. is_subregion_of is transitive

Geographical regions & features are represented as individuals n Japan, Honshu, Hiroshima-ken, … n

Geographical regions & features are represented as individuals n Japan, Honshu, Hiroshima-ken, … n Mt_Fuji, Hiroshima_Prince_Hotel, … 114

Facts* n Honshu is_subregion_of has. Value Japan Hiroshima-ken is_subregion_of has. Value Honshu Hiroshima is_subregion_of

Facts* n Honshu is_subregion_of has. Value Japan Hiroshima-ken is_subregion_of has. Value Honshu Hiroshima is_subregion_of has. Value Hiroshima-ken n Mt_Fuji has_location has. Value Honshu Hiroshima_prince_hotel has_location has. Value Hiroshima-ken 115 *with apologies for any errors in Japanese geography

Definitions n n 116 Region_of_Japan = Geographical_region AND is_subregion_of has. Value Japan Feature_of_Japan =

Definitions n n 116 Region_of_Japan = Geographical_region AND is_subregion_of has. Value Japan Feature_of_Japan = Geographical_feature AND ( has. Location has. Value Japan OR has. Location has. Value Region_of_Japan )

In tools at this time n Must ask from right mouse button menu in

In tools at this time n Must ask from right mouse button menu in Individuals tab n 117 better integration under development

Warning: Individuals and reasoners n Individuals only partly implemented in reasoners n If results

Warning: Individuals and reasoners n Individuals only partly implemented in reasoners n If results do not work, ask someone if they should! n n n If it doesn’t work, try simulating individuals by classes n Large sets of individuals better in “Instance Stores”, RDF triple stores, databases, etc that are restricted or closed world Ontologies are mainly about classes n 118 Open World reasoning with individuals is very difficult to implement Ontologies are NOT databases

Part-whole in OWL n Note - the only aspect of the part whole relation

Part-whole in OWL n Note - the only aspect of the part whole relation represented in OWL is transitivity n “Mereologists” (those who study parts-whole relations) define other axioms Antisymmetry (nothing can be part of itself) n Reflexive (everything is a part of itself) n Weak supplementation principle n n 119 When you take away a part (except the whole), you leave something behind

Qualified cardinality constraints n n 120 Use with partonomy Use with n-ary relations

Qualified cardinality constraints n n 120 Use with partonomy Use with n-ary relations

Cardinality Restrictions n “All mammals have four limbs” n n 121 “All Persons have

Cardinality Restrictions n “All mammals have four limbs” n n 121 “All Persons have two legs and two arms” “(All mammals have two forelimbs and two hind limbs)”

What we would like to say: Qualified cardinality constraints n n n Mammal has_part

What we would like to say: Qualified cardinality constraints n n n Mammal has_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 122

What we have to say in OWL n The property has_part has subproperties: has_limb

What we have to say in OWL n The property has_part has subproperties: has_limb has_leg has_arm has_wing n Mammal, Reptile, Bird Person has_leg Cow, Dog, Pig… Bird has_leg n Biped = Animal AND has_leg cardinality=2 123 has_limb cardinality=4 cardinality=2 has_leg cardinality=4 cardinality=2

Classification of bipeds and quadrupeds n 124 Before classification n After classificaiton

Classification of bipeds and quadrupeds n 124 Before classification n After classificaiton

Cardinality and n-ary relations n Need to control cardinality of relations represented as classes

Cardinality and n-ary relations n Need to control cardinality of relations represented as classes n An animal can have just 1 “dangerousness” n Requires a special subproperty of quality: n 125 has_dangerousness_quality cardinality=1

Re-representing the property has_danger as the class Risk Animal has_danger Dangerous cardinality=1 ‘functional’ has_Quality

Re-representing the property has_danger as the class Risk Animal has_danger Dangerous cardinality=1 ‘functional’ has_Quality cardinality=1 Risk e Risk_type p ty 1 _ k ty= s i _r nali s ha rdi ca has_seriousness hacardinality=1 Seriousness ca s_a rd vo in ida ali n ty= ce 1 Avoidance 126

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

In OWL must add subproperty for each quality to control cardinality, e. g. has_risk_quality special subproperty of has_quality Animal n has_Risk_Quality cardinality=1 Risk Leads to a proliferation of subproperties n 127 The issue of “Qualified Cardinality Constraints” e Risk_type p ty 1 _ k ty= s i _r nali s ha rdi ca has_seriousness hacardinality=1 Seriousness ca s_a rd vo in ida ali n ty= ce 1 Avoidance

Part VII – Summary n n n n Upper ontologies & Domain ontologies Building

Part VII – Summary n n n n Upper ontologies & Domain ontologies Building from trees and untangling Using a classifier Closure axioms & Open World Reasoning Specifying Values n-ary relations Classes as values – using the ontology Part-whole relations n n 129 Transitive properties Qualified cardinality restrictions

End n To find out more: n n 130 http: //www. co-ode. org n

End n To find out more: n n 130 http: //www. co-ode. org n Comprehensive tutorial and sample ontologiesxz http: //protege. stanford. org n Subscribe to mailing lists; participate in forums n On the SW in general: semanticweb@yahoogroups. com n For specific feedback to SWBP n Home & Mail Archive: http: //www. w 3. org/2001/sw/Best. Practices/ public-swbp-wg@w 3. org

Part VI – Hands On supplement n 131 Open Animals-tutorial-step-2

Part VI – Hands On supplement n 131 Open Animals-tutorial-step-2

Exercise 3: (Advanced supplement) n n n 132 Load Animals-Tutorial-complete. pprj Define a new

Exercise 3: (Advanced supplement) n n n 132 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?