1
play

1 Open World Reasoning Three Views from Protg OWL tools Vegetarian - PowerPoint PPT Presentation

OWL Pizzas: Why do so few people use OWL and DLs? Practical Experience of Teaching OWL-DL: Why so little use of classifiers? Common Errors & Common Patterns Is part of the answer that Alan Rector 1 , Nick Drummond 1, Matthew Horridge 1,


  1. OWL Pizzas: Why do so few people use OWL and DLs? Practical Experience of Teaching OWL-DL: Why so little use of classifiers? Common Errors & Common Patterns Is part of the answer that… Alan Rector 1 , Nick Drummond 1, Matthew Horridge 1, Jeremy Rogers 1 , Holger Knublauch 2 , Robert Stevens 1 , Hai Wang 1 , • OWL/DLs run counter to common intuitions from Chris Wroe 1 – Databases, UML, query languages (including RDQL) – Logic programming & rule systems, e.g. JESS, PAL 1 Information Management Group / Bio Health Informatics Forum Department of Computer Science, University of Manchester – Frame systems – more difference than at first appears 2 Stanford Medical Informatics, Stanford University – Object oriented programming • Can Tools can help? rector@cs.man.ac.uk – Can we use tutorials and training to gather requirement? co-ode-admin@cs.man.ac.uk • All examples here have occurred repeatedly in practice in tutorials or in live ontology construction – often by experts in other formalisms www.co-ode.org – Part of the requirements gathering for the Protégé-OWL interface protege.stanford.org O pen GALEN 1 O pen GALEN 2 Issues and common errors OWL Pizzas Tutorial • Open world reasoning – Domain and range constraints as axioms • Designed to address common errors – Trivial satisfiability of universal restrictions – We have seen lots of experienced people make the same simple – Subsumption (“is kind of”) as necessary implication mistakes • Unfamiliar constructs – confusing notation/terminology • Why Pizzas? – Confusion of universal ( allValuesFrom ) rather than existential restrictions ( someValuesFrom ) – Naturally combinatorial – Need for explicit disjointness axioms – No serious ontological issues • Errors in understanding common logical constructs – Familiar and fun (at least to western audiences) – Confusing ‘and’ and ‘or’ – Easy to illustrate most problems – Defined vs primitive classes & conversion between them • Extended version – Use of subclass axioms as rules – See 120 pg ‘textbook’ version on Understanding the effect of classification • http://www.co-ode.org – What to do when it all turns red – debugging – Explaining classification O pen GALEN 3 O pen GALEN 4 1

  2. Open World Reasoning Three Views from Protégé OWL tools “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? O pen GALEN 5 O pen GALEN 6 Vegetarian Pizza Is a Margherita Pizza a Vegetarian Pizza? • Not according to classifier • And not according to the full paraphrases formulated carefully O pen GALEN 7 O pen GALEN 8 2

  3. Open World Reasoning Add “Closure Axiom” Vegetarian & Margherita Pizzas • “A Margherita pizza has tomato and cheese toppings and only tomato and cheese toppings” • “A vegetarian pizza is any pizza that, amongst – i.e. “A Margherita pizza has tomato and cheese toppings and only other things , toppings that are tomato or cheese” • Tedious to create by hand, so provide automatic generation in tool 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” O pen GALEN 9 O pen GALEN 10 Now Classifies as Intended Domain & Range Constraints • Actually axioms – Property P range( RangeClass ) means • owl:Thing restriction(P allValuesFrom RangeClass) – Property P domain( DomainClass ) means • owl:Thing • Provided: restriction(inverse(P) allValuesFrom DomainClass) Toppings mutually disjoint O pen GALEN 11 O pen GALEN 12 3

  4. Non-Obvious Consequences Example of Coercion by Domain violation • has_topping: domain (Pizza) range (Pizza_topping) • Range constraint violations – unsatisfiable or ignored class Ice_cream_cone – If filler and RangeClass are disjoint: unsatisfiable has_topping some Ice_cream – Otherwise nothing happens! • If Ice_cream_cone and Pizza are not disjoint: • Domain constraint violations – unsatisfiable or coerced – Ice_cream_cone is classified as a kind of Pizza – If subject and DomainClass are disjoint: unsatisfiable …but: Ice_cream is not classified as a kind of Pizza_topping – Otherwise, subject reclassified (coerced) to kind of DomainClass! – Have shown that: all Ice_cream_cones are a kinds of Pizza s, but only that: • Furthermore cannot be fully checked before classification some Ice_cream is a kind of Pizza _ topping – although tools can issue warnings. » Only domain constraints can cause reclassification … by now most people are very confused - need lots of examples & back to basics O pen GALEN 13 O pen GALEN 14 Trivial Satisfiability: Subsumption means necessary implication More unintuitive results • “B is a kind of A” • An existential (someValuesFrom) restriction with means an empty filler makes no sense: “All Bs are As” – is unsatisfiable if its filler is unsatisfiable – “Ice_cream_cone is a kind of Pizza” • A Universal (allValuesFrom) restriction with an means “All ice_cream_cones are pizzas” unsatisfiable filler is trivially satisfiable – provided there is no way to infer a existence of a filler – From “Some Bs are As” we can deduce very little of interest in DL terms • Leads to errors being missed and then appearing later » “some ice_creams are pizza_toppings” says nothing about “all ice creams” O pen GALEN 15 O pen GALEN 16 4

  5. Worse, Trivially Satisfied Restrictions Examples of Trivial Satisfaction Classify under Anything • Protein_lovers_pizza is a kind of Vegetarian_Pizza ! • 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) • Until we add: • Range constraint violation: “Only disjoint(Ice_cream, Pizza_topping) Pizza has_topping some Pizza_topping class(Ice_cream_pizza does not – “All pizzas have some topping” has_topping allValuesFrom Ice_cream) imply • Both legal unless/until there is an axiom such as: some!” Pizza has_topping someValuesFrom Pizza_topping – i.e. “All pizzas have at least one topping” O pen GALEN 17 O pen GALEN 18 The trouble with confusing “some” with “only” The trouble with confusing “some” with “only” someValuesFrom with allValuesFrom someValuesFrom with allValuesFrom • It works for a while • Even classification seems to work at first – The student defining – class(Meat_lovers_pizza complete Protein_lovers_pizza thought they has_topping only Meat_topping ) were defining a pizza with meat toppings and fish toppings • Errors only show up later when • So people continue complacently existentials are added elsewhere – 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 O pen GALEN 19 O pen GALEN 20 5

  6. Defined vs Primitive Classes Protégé-OWL – Everything in one place Necessary & Sufficient • In OWL the difference is a single keyword conditions: – “partial” vs “ complete” “Definition” • In OilEd it was a single button Necessary conditions: – “subclass” vs “same class as” or “partial” vs “complete” • Also… “Description” Any necessary restrictions on defined classes must appear in separate subclassOf axioms • Spicy_Pizza_topping Necessary & Sufficient: – Breaks the object oriented paradigm Pizza_topping & • Hides information about the class on a different pane has_spiciness some Hot – Makes migrating a primitive class to a defined class tedious Necessarily also • Unless all restrictions become part of the definition Not suitable_for any Small_child – Makes subclass axioms for implication hard to understand O pen GALEN 21 O pen GALEN 22 Defined classes Defined At least one Necessary & Sufficient condition • Have necessary and sufficient conditions Primitive classes No Necessary & Sufficient Primitive • Have only necessary conditions conditions – The necessary and sufficient space is empty O pen GALEN 23 O pen GALEN 24 6

  7. Defined classes with necessary Protégé-OWL – Moving Conditions conditions Necessary & Sufficient conditions: Necessary & Sufficient conditions: “Definition” “Definition” Necessary conditions: Necessary conditions: “Description” “Description” • A common operation so: • In effect this is a rule – Cut & Paste – IF Pizza_toping and hasSpiciness some Hot – Drag and Drop THEN not suitable _ for any small_child – One click – convert to/from defined/primitive class • Easier to understand than separate subclass axioms. O pen GALEN 25 O pen GALEN 26 Managing Disjointness Understanding Classification • Basic; Must be explicit; Easy to forget • Asserted So make it easy to do – Disjoint primitive siblings button – Simple tree – “Create group of classes” Wizard • Defined (orange) – Annotate parent – all primitive children disjoint classes have no children Add all primitive sibs disjoint button Remove all primitive sibs disjoint button O pen GALEN 27 O pen GALEN 28 7

Recommend


More recommend