BioHealth Informatics Group A Practical Introduction to Ontologies & OWL Session 2: Defined Classes and Additional Modelling Constructs in OWL Nick Drummond.

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)
OWL - DL. DL System A knowledge base (KB) comprises two components, the TBox and the ABox The TBox introduces the terminology, i.e., the vocabulary of.
Developing OWL Ontologies with Protégé 4
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.
1 OWL Pizzas: Practical Experience of Teaching OWL-DL: Common Errors & Common Patterns Alan Rector 1, Nick Drummond 1, Matthew Horridge 1, Jeremy Rogers.
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
CS 106 Introduction to Computer Science I 04 / 11 / 2008 Instructor: Michael Eckmann.
Chapter 8: Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
CS 106 Introduction to Computer Science I 04 / 16 / 2010 Instructor: Michael Eckmann.
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.
Editing Description Logic Ontologies with the Protege OWL Plugin.
DAML+OIL Ontology Tutorial Chris Wroe, Robert Stevens (Sean Bechhofer, Carole Goble, Alan Rector, Ian Horrocks….) University of Manchester.
CS 106 Introduction to Computer Science I 04 / 13 / 2007 Friday the 13 th Instructor: Michael Eckmann.
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.
8/11/2011 Web Ontology Language (OWL) Máster Universitario en Inteligencia Artificial Mikel Egaña Aranguren 3205 Facultad de Informática Universidad Politécnica.
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.
USCISIUSCISI Background Description Logic Systems Thomas Russ.
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 1: Primitive.
OWL 2 in use. OWL 2 OWL 2 is a knowledge representation language, designed to formulate, exchange and reason with knowledge about a domain of interest.
Natural vs. Generated Keys. Definitions Natural key—a key that occurs in the data, that uniquely identifies rows. AKA candidate key. Generated key—a key.
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,
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.
Object-Oriented Programming Chapter Chapter
Ontology Engineering Lab #3 – September 16, 2013.
Interfaces About Interfaces Interfaces and abstract classes provide more structured way to separate interface from implementation
ONTOLOGY ENGINEERING Lab #2 – September 8,
ONTOLOGY ENGINEERING Lab #3 – September 15,
Description Logics Dr. Alexandra I. Cristea. Description Logics Description Logics allow formal concept definitions that can be reasoned about to be expressed.
ece 627 intelligent web: ontology and beyond
Ontology Engineering Lab #4 - September 23, 2013.
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.
Introduction to Ontology Introductions Alan Ruttenberg Science Commons.
A Practical Introduction to Ontologies & OWL
Based on ProtegeOWLTutorial at protege website
Axiomatic Number Theory and Gödel’s Incompleteness Theorems
Common MBSE Modeling Questions and How Ontology Helps
Information Organization
ece 720 intelligent web: ontology and beyond
Semantic Web Foundations
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
Fundaments of Game Design
Description Logics.
University of Manchester
Presentation transcript:

BioHealth Informatics Group A Practical Introduction to Ontologies & OWL Session 2: Defined Classes and Additional Modelling Constructs in OWL Nick Drummond & Matthew Horridge

Copyright © 2005, The University of Manchester Overview ►Defined Classes ►Untangling ►Defining Vegetarian Pizzas ►Union Classes ►Universal Restrictions ►The Open World Assumption ►Closure

Copyright © 2005, The University of Manchester CheeseyPizza ►A CheeseyPizza is any pizza that has some cheese on it ►We would expect then, that some pizzas might be named pizzas and cheesey pizzas (among other things later on) ►We can use the reasoner to help us produce this polyhierarchy without having to assert multiple parents

Copyright © 2005, The University of Manchester Creating a CheeseyPizza ►We normally create primitive classes and then migrate them to defined classes ►All of our defined pizzas will be direct subclasses of Pizza ►So, we create a CheesyPizza Class (do not make it disjoint) and add a restriction: “Every CheeseyPizza must have at least one CheeseTopping” ►Classifying shows that we currently don’t have enough information to do any classification ►We then move the conditions from the Necessary block to the Necessary & Sufficient block which changes the meaning ►And classify again…

Copyright © 2005, The University of Manchester Reasoner Classification ►The reasoner has been able to infer that anything that is a Pizza that has at least one topping from CheeseTopping is a CheeseyPizza ►The inferred hierarchy is updated to reflect this and moved classes are highlighted in blue

Copyright © 2005, The University of Manchester Why? Necessary & Sufficient Conditions ►Each set of necessary & sufficient conditions is an Equivalent Class ►CheeseyPizza is equivalent to the intersection of Pizza and  hasTopping CheeseTopping ►Classes, all of whose individuals fit this definition are found to be subclasses of CheeseyPizza, or are subsumed by CheeseyPizza Pizza  hasTopping CheeseTopping CheeseyPizza

Copyright © 2005, The University of Manchester Untangling ►We can see that certain Pizzas are now classified under multiple parents ►MargheritaPizza can be found under both NamedPizza and CheeseyPizza in the inferred hierarchy Mission Successful!

Copyright © 2005, The University of Manchester Untangling ►However, our unclassified version of the ontology is a simple tree, which is much easier to maintain ►We’ve now got a polyhierarchy without asserting multiple superclass relationships ►Plus, we also know why certain pizzas have been classified as CheeseyPizzas

Copyright © 2005, The University of Manchester Untangling ►We don’t currently have many kinds of primitive pizza but its easy to see that if we had, it would have been a substantial task to assert CheeseyPizza as a parent of lots, if not all, of them ►And then do it all over again for other defined classes like MeatyPizza or whatever

Copyright © 2005, The University of Manchester Viewing polyhierarchies ►As we now have multiple inheritance, the tree view is less than helpful in viewing our “hierarchy”

Copyright © 2005, The University of Manchester Viewing our Hierarchy Graphically

Copyright © 2005, The University of Manchester OWLViz Tab Polyhierarchy tangle View Inferred ModelView Asserted Model Show All Classes

Copyright © 2005, The University of Manchester Using OWLViz to untangle ►The asserted hierarchy should, ideally, be a tidy tree of disjoint primitives ►The inferred hierarchy will be tangled ►By switching from the asserted to the inferred hierarchy, it is easy to see the changes made by the reasoner ►OWLViz can be used to spot tangles in the primitive tree and also disjoints (including inherited ones) are marked (with a ¬)

Copyright © 2005, The University of Manchester Defined Classes ►We’ve created a Defined Class, CheeseyPizza ►It has a definition. That is at least one Necessary and Sufficient condition ►Classes, all of whose individuals satisfy this definition, can be inferred to be subclasses ►Therefore, we can use it like a query to “collect” subclasses that satisfy its conditions ►Reasoners can be used to organise the complexity of our hierarchy ►It’s marked with an equivalence symbol in the interface ►Defined classes are rarely disjoint

Copyright © 2005, The University of Manchester Exercise 5: Define a MeatyPizza ►Add a CheeseyPizza to your ontology as well

Copyright © 2005, The University of Manchester Define a Vegetarian Pizza ►Not as easy as it looks… ►Define in words? ►“a pizza with only vegetarian toppings”? ►“a pizza with no meat (or fish) toppings”? ►“a pizza that is not a MeatyPizza”? ►More than one way to model this We’ll start with the first example

Copyright © 2005, The University of Manchester Define a Vegetarian Pizza To be able to define a vegetarian pizza as a Pizza with only Vegetarian Toppings we need: 1.To be able to create a vegetarian topping This requires a Union Class 2.To be able to say “only” This requires a Universal Restriction

Copyright © 2005, The University of Manchester ►aka “disjunction” ►This OR That OR TheOther ►This That TheOther Union Classes ►Commonly used for: ►Covering axioms ►Closure A B A B includes all individuals of class A and all individuals from class B and all individuals in the overlap (if A and B are not disjoint)

Copyright © 2005, The University of Manchester Covering Axioms ►Covering axiom – a union expression containing several covering classes ►A covering axiom in the Necessary & Sufficient Conditions of a class means: the class cannot contain any instances other than those from the covering classes ►NB. If the covering classes are subclasses of the covered class, the covering axiom only needs to be a Necessary condition – it doesn’t harm to make it Necessary & Sufficient though – its just redundant

Copyright © 2005, The University of Manchester Covering PizzaBase ►In this example, the class PizzaBase is covered by ThinAndCrispy or DeepPan ►“All PizzaBases must be ThinAndCrispy or DeepPan” ►“There are no other types of PizzaBase” PizzaBase DeepPan ThinAndCrispy PizzaBase  ThinAndCrispy DeepPan

Copyright © 2005, The University of Manchester Exercise 6: Define a VegetarianTopping

Copyright © 2005, The University of Manchester Universal Restrictions ►We need to say our VegetarianPizza can only have toppings that are vegetarian toppings ►We can do this by creating a Universal or AllValuesFrom restriction ►We’ll first look at an example…

Copyright © 2005, The University of Manchester Real Italian Pizzas ►“RealItalianPizzas only have bases that are ThinAndCrispy” ►A Universal Restriction is added just like an Existential one, but the restriction type is different ►For now, this can be primitive – you can make it defined if you like

Copyright © 2005, The University of Manchester What does this mean? ►“If an individual is a member of this class, it is necessary that it must only have a hasBase relationship with an individual from the class ThinAndCrispy” RealItalianPizza ThinAndCrispy hasBase ►We have created a restriction:  hasBase ThinAndCrispy on Class RealItalianPizza as a necessary condition

Copyright © 2005, The University of Manchester What does this mean? DeepPanRealItalianPizza ThinAndCrispy hasBase ►“No individual of the RealItalianPizza class can have a base from a class other than ThinAndCrispy” ►NB. DeepPan and ThinAndCrispy are disjoint hasBase ►We have created a restriction:  hasBase ThinAndCrispy on Class RealItalianPizza as a necessary condition

Copyright © 2005, The University of Manchester Warning: Trivial Satisfaction RealItalianPizza ThinAndCrispy hasBase ►“If an individual is a member of this class, it is necessary that it must only have a hasBase relationship with an individual from the class ThinAndCrispy, or no hasBase relationship at all” Trivially satisfied by this individual ►Universal Restrictions by themselves do not state “at least one” ►If we had not already inherited:  hasBase PizzaBase from Class Pizza the following could hold

Copyright © 2005, The University of Manchester Exercise 7: Create VegetarianPizza

Copyright © 2005, The University of Manchester VegetarianPizza Classification ►Nothing classifies under VegetarianPizza ►Actually, there is nothing wrong with our definition of VegetarianPizza ►It is actually the descriptions of our Pizzas that are incomplete ►The reasoner has not got enough information to infer that any Pizza is subsumed by VegetarianPizza ►This is because OWL makes the Open World Assumption

Copyright © 2005, The University of Manchester Open World Assumption ►In a closed world (like DBs), the information we have is everything ►In an open world, we assume there is always more information than is stated ►Where a database, for example, returns a negative if it cannot find some data, the reasoner makes no assumption about the completeness of the information it is given ►The reasoner cannot determine something does not hold unless it is explicitly stated in the model

Copyright © 2005, The University of Manchester Open World Assumption ►Typically we have a pattern of several Existential restrictions on a single property with different fillers – like primitive pizzas on hasTopping ►Existential restrictions should be paraphrased by “amongst other things…” ►Must state that a description is complete ►We need closure for the given property

Copyright © 2005, The University of Manchester Closure ►This is in the form of a Universal Restriction with a filler that is the Union of the other fillers for that property ►Closure works along a single property

Copyright © 2005, The University of Manchester Closure example: MargheritaPizza All MargheritaPizzas must have: at least 1 topping from MozzarellaTopping and at least 1 topping from TomatoTopping and only toppings from MozzarellaTopping or TomatoTopping ►The last part is paraphrased into “no other toppings” ►The union closes the hasTopping property on MargheritaPizza

Copyright © 2005, The University of Manchester Exercise 8: Closing Pizzas

Copyright © 2005, The University of Manchester Exercise 9: Your PizzaFinder ►You can now plug your pizza ontology into the PizzaFinder application

Copyright © 2005, The University of Manchester Summary You should now be able to: ►Create Defined Classes and classify using a Reasoner to check expected results ►Create Covering Axioms ►Close Class Descriptions and understand the Open World Assumption