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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend