1 OWL Pizzas: Practical Experience of Teaching OWL-DL: Common Errors & Common Patterns Alan Rector 1, Nick Drummond 1, Matthew Horridge 1, Jeremy Rogers.

Slides:



Advertisements
Similar presentations
29/11/2004CS646: N. Drummond, M. Horridge1 Presented by the CO-ODE and HyOntUse projects Funded by CS646: OWL Tutorial (session 2)
Advertisements

Ontologies and Databases Ian Horrocks Information Systems Group Oxford University Computing Laboratory.
29/11/2004CS646: N. Drummond, M. Horridge1 Presented by the CO-ODE and HyOntUse projects Funded by CS646: OWL Tutorial (session 1)
Developing OWL Ontologies with Protégé 4
Chronos: A Tool for Handling Temporal Ontologies in Protégé
An Introduction to RDF(S) and a Quick Tour of OWL
“Elephant Traps” Alan Rector with The Bio Health Informatics Group The CO-ODE Team University of Manchester With acknowledgements to Natsha Noy and the.
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 3: Additional.
Protege Tutorial Based on ProtegeOWLTutorial at protege website.
Protege Tutorial Based on ProtegeOWLTutorial at protege website.
Tutorial Le Phuoc Son Hoang Huu Hanh Hue University.
Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
Protégé Classes, Properties and Instances Susana R. de Novoa UNIK4710.
1 CSC 9010 Spring, Paula MatuszekSome slides taken from
The Semantic Web – WEEK 11: Description Logic + OWL Featuring..MAD COWS.
Chapter 8: Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
The Semantic Web Week 15 Reasoning with (and Visualising) Ontologies Module Website: Practical :Protégé-2000 WITH.
The Semantic Web Week 14 Module Website: Lecture (SHORT): OWL PIZZAS Practical (LONGER): Getting to know Protégé-2000.
Some comments on Granularity Scale & Collectivity by Rector & Rogers Thomas Bittner IFOMIS Saarbruecken.
GO Ontology Editing Workshop: Using Protege and OWL Hinxton Jan 2012.
DAML+OIL Ontology Tutorial Chris Wroe, Robert Stevens (Sean Bechhofer, Carole Goble, Alan Rector, Ian Horrocks….) University of Manchester.
ITP © Ron Poet Lecture 1 1 IT Programming Introduction.
Logics for Data and Knowledge Representation
1 MASWS Multi-Agent Semantic Web Systems: OWL Stephen Potter, CISA, School of Informatics, University of Edinburgh, Edinburgh, UK.
Protege OWL Plugin Short Tutorial. OWL Usage The world wide web is a natural application area of ontologies, because ontologies could be used to describe.
1 Making OWL Easier: Practical Ontology Development in using Protégé-OWL-CO-ODE Tools Alan Rector, Hai Wang, Jeremy Rogers with acknowledgement to Nick.
1 Berendt: Knowledge and the Web, 1st semester 2014/2015, 1 Knowledge and the Web Inference on the Semantic.
BioHealth Informatics Group Advanced OWL Tutorial 2005 Ontology Engineering in OWL Alan Rector & Jeremy Rogers BioHealth Informatics Group.
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.
Building an Ontology of Semantic Web Techniques Utilizing RDF Schema and OWL 2.0 in Protégé 4.0 Presented by: Naveed Javed Nimat Umar Syed.
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 1: Primitive.
Review of OWL for Biomedicine Alan Rector & CO-ODE/NIBHI University of Manchester OpenGALEN BioHealth Informatics Group © University.
1 Towards a Unified Representation: Representing HL7 and SNOMED in OWL Alan Rector 1 & Tom Marley 2 1 Information Management Group / Bio Health Informatics.
BioHealth Informatics Group A Practical Introduction to Ontologies & OWL Session 2: Defined Classes and Additional Modelling Constructs in OWL Nick Drummond.
1 Berendt: Advanced databases, first semester 2011, 1 Advanced databases – Inferring new knowledge.
Coastal Atlas Interoperability - Ontologies (Advanced topics that we did not get to in detail) Luis Bermudez Stephanie Watson Marine Metadata Interoperability.
1 Towards a Unified Representation: Representing HL7 and SNOMED in OWL Alan Rector 1 & Tom Marley 2 1 Information Management Group / Bio Health Informatics.
1 Berendt: Advanced databases, 1st semester 2012/2013, 1 Advanced databases – Inference on the Semantic Web.
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 2: Defined.
© O. Corcho, MC Suárez de Figueroa Baonza 1 OWL and SWRL Protégé 4: Building an OWL Ontology Mari Carmen Suárez-Figueroa, Oscar Corcho {mcsuarez,
1 Foundations of the Semantic Web: Ontology Engineering Building Ontologies 3+ Common problems Ontology Patterns Re-representing properties and classes.
OilEd An Introduction to OilEd Sean Bechhofer. Topics we will discuss Basic OilEd use –Defining Classes, Properties and Individuals in an Ontology –This.
Organization of the Lab Three meetings:  today: general introduction, first steps in Protégé OWL  November 19: second part of tutorial  December 3:
2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester1 Protégé-OWL Tutorial Session 2: Defined Classes Nick Drummond.
© University of Manchester Simplifying OWL Learning lessons from Anaesthesia Nick Drummond BioHealth Informatics Group.
2nd Sept 2004UK e-Science all hands meeting1 Designing User Interfaces to Minimise Common Errors in Ontology Development Alan Rector, Nick Drummond, Matthew.
Semantic Web BY: Josh Rachner and Julio Pena. What is the Semantic Web? The semantic web is a part of the world wide web that allows data to be better.
ONTOLOGY ENGINEERING Lab #3 – September 15,
1 Foundations of the Semantic Web: Ontology Engineering Building Ontologies 1b Classes and Instances Concepts & Individuals Alan Rector & colleagues Special.
Description Logics Dr. Alexandra I. Cristea. Description Logics Description Logics allow formal concept definitions that can be reasoned about to be expressed.
Approach to building ontologies A high-level view Chris Wroe.
BioHealth Informatics Group Copyright © 2005, The University of Manchester1 A Practical Introduction to Ontologies & OWL Additional Exercises: Common Errors.
Of 29 lecture 15: description logic - introduction.
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 1: Primitive.
Ccs.  Ontologies are used to capture knowledge about some domain of interest. ◦ An ontology describes the concepts in the domain and also the relationships.
1 Letting the classifier check your intuitions Existentials, Universals, & other logical variants Some, Only, Not, And, Or, etc. Lab exercise - 3b Alan.
A Practical Introduction to Ontologies & OWL
Based on ProtegeOWLTutorial at protege website
Information Organization
ece 720 intelligent web: ontology and beyond
Lab exercise - 3a Alan Rector & colleagues
Presentation by the COODE and
Session 2: Defined Classes Nick Drummond
CS646: OWL Tutorial (session 2)
ece 720 intelligent web: ontology and beyond
Session 1: Primitive Classes Nick Drummond
Foundations of the Semantic Web: Ontology Engineering
Ontologies and Databases
University of Manchester
Presentation transcript:

1 OWL Pizzas: Practical Experience of Teaching OWL-DL: Common Errors & Common Patterns Alan Rector 1, Nick Drummond 1, Matthew Horridge 1, Jeremy Rogers 1, Holger Knublauch 2, Robert Stevens 1, Hai Wang 1, Chris Wroe 1 1 Information Management Group / Bio Health Informatics Forum Department of Computer Science, University of Manchester 2 Stanford Medical Informatics, Stanford University protege.stanford.org

2 Why do so few people use OWL and DLs? Why so little use of classifiers? Is part of the answer that… OWL/DLs run counter to common intuitions from –Databases, UML, query languages (including RDQL) –Logic programming & rule systems, e.g. JESS, PAL –Frame systems – more difference than at first appears –Object oriented programming Can Tools can help? –Can we use tutorials and training to gather requirement? All examples here have occurred repeatedly in practice in tutorials or in live ontology construction – often by experts in other formalisms –Part of the requirements gathering for the Protégé-OWL interface

3 OWL Pizzas Tutorial Designed to address common errors –We have seen lots of experienced people make the same simple mistakes Why Pizzas? –Naturally combinatorial –No serious ontological issues –Familiar and fun (at least to western audiences) –Easy to illustrate most problems Extended version –See 120 pg ‘textbook’ version on

4 Issues and common errors Open world reasoning –Domain and range constraints as axioms –Trivial satisfiability of universal restrictions –Subsumption (“is kind of”) as necessary implication Unfamiliar constructs – confusing notation/terminology –Confusion of universal (allValuesFrom) rather than existential restrictions (someValuesFrom) –Need for explicit disjointness axioms Errors in understanding common logical constructs –Confusing ‘and’ and ‘or’ –Defined vs primitive classes & conversion between them –Use of subclass axioms as rules Understanding the effect of classification –What to do when it all turns red – debugging –Explaining classification

5 Open World Reasoning “Vegetarian Pizzas” The menu says that: “Margherita pizzas have tomato and mozzarella toppings” “Vegetarian pizzas have no meat or fish toppings” What’s it mean?

6 Three Views from Protégé OWL tools

7 Vegetarian Pizza

8 Is a Margherita Pizza a Vegetarian Pizza? Not according to classifier And not according to the full paraphrases formulated carefully

9 Open World Reasoning Vegetarian & Margherita Pizzas “A vegetarian pizza is any pizza that, amongst other things, does not have any meat topping and does not have any fish topping” “A margherita pizza is a pizza and, amongst other things, has some tomato topping and has some mozarella topping”

10 Add “Closure Axiom” “A Margherita pizza has tomato and cheese toppings and only tomato and cheese toppings” –i.e. “A Margherita pizza has tomato and cheese toppings and only toppings that are tomato or cheese” Tedious to create by hand, so provide automatic generation in tool

11 Now Classifies as Intended Provided: Toppings mutually disjoint

12 Domain & Range Constraints 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)

13 Non-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.

14 Example of Coercion by Domain violation has_topping: domain(Pizza) range(Pizza_topping) class 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 Pizza s, but only that: some Ice_cream is a kind of Pizza _ topping »Only domain constraints can cause reclassification … by now most people are very confused - need lots of examples & back to basics

15 Subsumption means necessary implication “B is a kind of A” means “All Bs are As” –“Ice_cream_cone is a kind of Pizza” means “All ice_cream_cones are pizzas” –From “Some Bs are As” we can deduce very little of interest in DL terms »“some ice_creams are pizza_toppings” says nothing about “all ice creams”

16 Trivial Satisfiability: More unintuitive results An existential (someValuesFrom) restriction with an empty filler makes no sense: – is unsatisfiable if its filler is unsatisfiable A Universal (allValuesFrom) restriction with an unsatisfiable filler is trivially satisfiable –provided there is no way to infer a existence of a filler Leads to errors being missed and then appearing later

17 Examples of Trivial Satisfaction Unsatisfiable filler: disjoint(Meat_topping Fish_topping) class(Protein_lovers_pizza complete has_topping allValuesfrom (Meat_topping and Fish_topping)) i.e. intersectionOf(Meat_topping, Fish_topping) i.e. only something that is both (Meat_topping and fish_topping) Range constraint violation: disjoint(Ice_cream, Pizza_topping) class(Ice_cream_pizza has_topping allValuesFrom Ice_cream) Both legal unless/until there is an axiom such as: Pizza has_topping someValuesFrom Pizza_topping –i.e. “All pizzas have at least one topping”

18 Worse, Trivially Satisfied Restrictions Classify under Anything Protein_lovers_pizza is a kind of Vegetarian_Pizza ! Until we add: Pizza has_topping some Pizza_topping –“All pizzas have some topping” “Only does not imply some!”

19 The trouble with confusing “some” with “only” someValuesFrom with allValuesFrom It works for a while –The student defining Protein_lovers_pizza thought they were defining a pizza with meat toppings and fish toppings Errors only show up later when existentials are added elsewhere

20 The trouble with confusing “some” with “only” someValuesFrom with allValuesFrom Even classification seems to work at first –class(Meat_lovers_pizza complete has_topping only Meat_topping ) So people continue complacently –Until the unexpected happens, e.g. It is also classified as a kind of vegetarian pizza It is made unsatisfiable by an existential axiom someplace

21 Defined vs Primitive Classes In OWL the difference is a single keyword –“partial” vs “ complete” In OilEd it was a single button –“subclass” vs “same class as” or “partial” vs “complete” Also… Any necessary restrictions on defined classes must appear in separate subclassOf axioms –Breaks the object oriented paradigm Hides information about the class on a different pane –Makes migrating a primitive class to a defined class tedious Unless all restrictions become part of the definition –Makes subclass axioms for implication hard to understand

22 Protégé-OWL – Everything in one place Spicy_Pizza_topping Necessary & Sufficient: Pizza_topping & has_spiciness some Hot Necessarily also Not suitable_for any Small_child Necessary conditions: “Description” Necessary & Sufficient conditions: “Definition”

23 Defined classes Have necessary and sufficient conditions Primitive classes Have only necessary conditions –The necessary and sufficient space is empty

24 Defined Primitive At least one Necessary & Sufficient condition No Necessary & Sufficient conditions

25 Defined classes with necessary conditions In effect this is a rule –IF Pizza_toping and hasSpiciness some Hot THEN not suitable _ for any small_child Easier to understand than separate subclass axioms. Necessary conditions: “Description” Necessary & Sufficient conditions: “Definition”

26 Protégé-OWL – Moving Conditions A common operation so: –Cut & Paste –Drag and Drop –One click – convert to/from defined/primitive class Necessary conditions: “Description” Necessary & Sufficient conditions: “Definition”

27 Managing Disjointness Basic; Must be explicit; Easy to forget So make it easy to do –Disjoint primitive siblings button –“Create group of classes” Wizard –Annotate parent – all primitive children disjoint Add all primitive sibs disjoint button Remove all primitive sibs disjoint button

28 Understanding Classification Asserted –Simple tree Defined (orange) classes have no children

29 Understanding classification Inferred –Polyhierarchy Defined (orange) classes have children

30 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 condition is unsatisfiable –Any subclass of an unsatisfiable class is unsatisfiable Only a few possible sources –Violation of disjoint axioms –Unsatisfiable expressions Confusion of “and” and “or” –Violation of a universal (allValuesFrom) constraint (including range and domain constraints) Unsatisfiable domain or range constraints Tools coming RSN Don’t Panic!

31 Web Site version 120 pp “Text book style”

32

33 Focus of the tutorial: What’s it Mean? Paraphrases help clarify meaning –someValuesFrom “some” –allValuesFrom “only” –complete “A … is any … that…” –partial “All … are…have…” –negation “does not have … any…” –intersection “and” / “and also” –union “or” / “and/or” –not…someValuesFrom “not…any” –not … allValuesfrom “does not …have only…” –open world“amongst other things”