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

Slides:



Advertisements
Similar presentations
How to utilize your iTunes for use with your SwiMP3 Please be aware that all the SwiMP3 line of players do not have licensing to any of the songs that.
Advertisements

Microsoft ® Office 2007 Training Security II: Turn off the Message Bar and run code safely P J Human Resources Pte Ltd presents:
Mouse Tutorial for Win XP In this tutorial you will learn to: Move the mouse Click and double click Make selections Manage windows Use menus Click the.
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
Using the SmartPLS Software
Downloading Audacity software Julie Collareda Adapted from Shaughnessy 2006.
Justification-based TMSs (JTMS) JTMS utilizes 3 types of nodes, where each node is associated with an assertion: 1.Premises. Their justifications (provided.
An Introduction to RDF(S) and a Quick Tour of OWL
Chapter 07: Lecture Notes (CSIT 104) 1111 Exploring Microsoft Office Excel 2007 Chapter 7 Data Consolidation, Links, and Formula Auditing.
How to use a scanner Throughout this slide show there will be hyperlinks (highlighted in blue) follow the hyperlinks to navigate to the specified Topic.
“Elephant Traps” Alan Rector with The Bio Health Informatics Group The CO-ODE Team University of Manchester With acknowledgements to Natsha Noy and the.
Downloading, Installing, and Working with Dropbox.
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
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.
Working with SharePoint Document Libraries. What are document libraries? Document libraries are collections of files that you can share with team members.
Programming with App Inventor Computing Institute for K-12 Teachers Summer 2012 Workshop.
Advanced Tables Lesson 9. Objectives Creating a Custom Table When a table template doesn’t suit your needs, you can create a custom table in Design view.
Copyright ©: SAMSUNG & Samsung Hope for Youth. All rights reserved Tutorials Software: Building apps Suitable for: Advanced.
Logics for Data and Knowledge Representation
Installing the SAFARIODBC.EXE For use with Excel May 3, 2002.
WESS Module 4 Chopping and Releasing HAZREPs Web Enabled Safety System.
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.
Introduction to Arrays. definitions and things to consider… This presentation is designed to give a simple demonstration of array and object visualizations.
Wimba Presenters Guide North Dakota University System 2009.
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 1: Primitive.
BioHealth Informatics Group A Practical Introduction to Ontologies & OWL Session 2: Defined Classes and Additional Modelling Constructs in OWL Nick Drummond.
SE 320 – Introduction to Game Development Lecture 3: Unity’s Interface and Concepts Lecturer: Gazihan Alankuş Please look at the last two slides for assignments.
Game Maker – Getting Started What is Game Maker?.
More on Description Logic(s) Frederick Maier. Note Added 10/27/03 So, there are a few errors that will be obvious to some: So, there are a few errors.
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.
2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester1 Protégé-OWL Tutorial Session 2: Defined Classes Nick Drummond.
2nd Sept 2004UK e-Science all hands meeting1 Designing User Interfaces to Minimise Common Errors in Ontology Development Alan Rector, Nick Drummond, Matthew.
Ontology Engineering Lab #3 – September 16, 2013.
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.
Access Module Implementing a Database with Microsoft Access A Great Module on Your CD.
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.
Easy Access with templates I: Create a database Lesson 16 By the end of this lesson you will be able to complete the following: Find the best database.
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
Chopping and Releasing HAZREPs
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
Object of the game Yahtzee Large straight Small straight Full house
Session 2: Defined Classes Nick Drummond
CS646: OWL Tutorial (session 2)
Session 1: Primitive Classes Nick Drummond
Object of the game Yahtzee Large straight Small straight Full house
Object of the game Yahtzee Large straight Small straight Full house
Object of the game Yahtzee Large straight Small straight Full house
Presentation transcript:

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

29/11/2004CS646: N. Drummond, M. Horridge2 CS646: This session Issue: Primitive Classes & Polyhierarchies Advanced: Reasoning Advanced: Creating Defined Classes Union Classes: Covering Axioms Example: Creating a Vegetarian Pizza Issue: Open World Assumption Union Classes: Closure

29/11/2004CS646: N. Drummond, M. Horridge3 Loading OWL files from scratch 1.If youve only got an OWL file: Select OWL Files as the Project Format, then Build to select the.owl file 2.If youve got a valid project file*: Select OWL Files as the Project Format, and then Open Other to find the.pprj file (if youve already opened it, it will be in Open Recent) 3.Open C:\Protégé_3.2_beta\examples\pizza\pizza.owl * ie one created on this version of Protégé - the s/w gets updated once every few days, so dont count on it unless youve created it recently– safest to build from the.owl file if in doubt Run Protégé.exe

29/11/2004CS646: N. Drummond, M. Horridge4 Primitive Classes All classes in our ontology so far are Primitive We describe primitive pizzas Primitive Class = only Necessary Conditions They are marked as yellow in the class hierarchy We condone building a disjoint tree of primitive classes

29/11/2004CS646: N. Drummond, M. Horridge5 Describing Primitive Pizza Classes 1.Create a new pizza under NamedPizza either choose from the menu or make it up 2.Create a new Existential (SomeValuesFrom) Restriction with the hasTopping property and a filler from PizzaTopping (eg HamTopping) 3.Add more Restrictions in the same way to complete the description each restriction is added to an intersection – so a Pizza must have toppingA and must have toppingB etc see MargheritaPizza for an example 4.Create another pizza that has at least one meat ingredient remember disjoints Start with pizzas2_0.owl

29/11/2004CS646: N. Drummond, M. Horridge6 Polyhierarchies By the end of this tutorial we intent to create a VegetarianPizza Some of our existing Pizzas should be types of VegetarianPizza However, they could also be types of SpicyPizza or CheeseLoversPizza We need to be able to give them multiple parents

29/11/2004CS646: N. Drummond, M. Horridge7 Vegetarian Pizza attempt 1 1.Create a new pizza called VegetarianPizza under Pizza make this disjoint from its siblings as we have been doing 2.Select MargheritaPizza you will notice that it only has a single parent, NamedPizza 3.Add VegetarianPizza as a new parent using the conditions widget Add Named Class button notice that MargheritaPizza now occurs in 2 places in the asserted hierarchy we have asserted that MargheritaPizza has 2 parents Start with pizzas2_1.owl

29/11/2004CS646: N. Drummond, M. Horridge8 Reasoning Wed like to be able to check the logical consistency of our model Wed also like to make automatic inferences about the subsumption hierarchy. A process known as classifying –ie Moving classes around in the hierarchy based on their logical definition Generic software capable of these tasks are known as reasoners (although you may hear them being referred to as Classifiers) FaCT++ is a reasoner

29/11/2004CS646: N. Drummond, M. Horridge9 Running Racer 1.Open C:\Protégé_3.2_beta 2.Run Fact++.Server.exe A cmd window will open and two service enabled messages will appear in the ouput FaCT++ is now ready for use as an http server using a standard interface called DIG 3.Goto OWL – Preferences & change ReasonerURL to NB. Alternative DIG reasoners like Racer can also be used

29/11/2004CS646: N. Drummond, M. Horridge10 Classifying Classify taxonomy (and check consistency) Just check consistency (for efficiency) Compute inferred types (for individuals)

29/11/2004CS646: N. Drummond, M. Horridge11 Reasoning about our Pizzas 1.Classify your ontology You will see an inferred hierarchy appear, which will show any movement of classes in the hierarchy You will also see a results window appear at the bottom of the screen which describes the results of the reasoner Start with pizzas2_2.owl MargheritaPizza turns out to be inconsistent – why?

29/11/2004CS646: N. Drummond, M. Horridge12 Why is MargheritaPizza inconsistent? We are asserting that a MargheritaPizza is a subclass of two classes we have stated are disjoint The disjoint means nothing can be a NamedPizza and a VegetarianPizza at the same time This means that the class of MargheritaPizzas can never contain any individuals The class is therefore inconsistent

29/11/2004CS646: N. Drummond, M. Horridge13 Attempting again 1.Close the inferred hierarchy and classification results pane 2.Remove the disjoint between VegetarianPizza and its siblings When prompted, choose to remove only between this class and its siblings 3.Re-Classify your ontology This should now be accepted by the reasoner with no inconsistencies Start with your current ontology

29/11/2004CS646: N. Drummond, M. Horridge14 Asserted Polyhierarchies We believe asserting polyhierarchies is bad let the reasoner do it! We lose some encapsulation of knowledge Difficult to maintain

29/11/2004CS646: N. Drummond, M. Horridge15 Defined Classes Have a definition. That is at least one Necessary and Sufficient condition Are marked in orange in the interface Classes, all of whose individuals satisfy this definition, can be inferred to be subclasses Reasoners can perform this inference

29/11/2004CS646: N. Drummond, M. Horridge16 Describing a MeatyPizza 1.Create a subclass of Pizza called MeatyPizza Dont put in the disjoints or youll get the same problems as before In general, defined classes are not disjoint 2.Add a restriction to say: Every MeatyPizza must have at least one meat topping 3.Classify your ontology What happens? Start with pizzas2_3.owl, close the reasoner panes

29/11/2004CS646: N. Drummond, M. Horridge17 Defining a MeatyPizza 1.Click and drag your hasTopping MeatTopping restriction from Necessary to Necessary & Sufficient The MeatyPizza class now turns orange, denoting that it is now a defined class 2.Click and drag the Pizza Superclass from Necessary toNecessary & Sufficient Make sure when you release you are on top of the existing restriction otherwise you will get 2 sets of conditions. You should have a single orange icon on the right stretching across both conditions like this… 3.Classify your ontology What happens? Start with pizzas2_4.owl, close the reasoner panes

29/11/2004CS646: N. Drummond, M. Horridge18 Reasoner Classification The reasoner has been able to infer that anything that is a Pizza that has at least one topping from MeatTopping is a MeatyPizza Therefore, classes fitting this definition are found to be subclasses of MeatyPizza, or are subsumed by MeatyPizza The inferred hierarchy is updated to reflect this and moved classes are highlighted in blue

29/11/2004CS646: N. Drummond, M. Horridge19 How do we Define a Vegetarian Pizza? Nasty 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

29/11/2004CS646: N. Drummond, M. Horridge20 Defining a Vegetarian Topping 1.Create a subclass of PizzaTopping called VegetarianTopping 2.Click Create New Expression in the Conditions Widget Type in or select each of the top level PizzaToppings that are not meat or fish (ie DairyTopping, FruitTopping etc) and between each, type the word or the or will be translated into a union symbol 3.Press Return when finished you have created an anonymous class described by the expression 4.Make this a defined class by moving both conditions from the Necessary to the Necessary & Sufficient conditions 5.Classify your ontology Start with pizzas2_5.owl

29/11/2004CS646: N. Drummond, M. Horridge21 AKA disjunction This OR That OR TheOther (This That TheOther) Set theory Commonly used for: –Covering axioms (like VegetarianTopping) –Closure Class Constructors: Union

29/11/2004CS646: N. Drummond, M. Horridge22 Covering Axioms Covered class – that to which the condition is added Covering classes – those in the union expression A covering axiom in the Necessary & Sufficient Conditions means: the covered class cannot contain any instances from a class other than one of the covering classes Gender Female Male In this example, the class Gender is covered by Male or Female All individuals in Gender must be individuals from Male or Female There are no other types of Gender Gender Male Female

29/11/2004CS646: N. Drummond, M. Horridge23 Vegetarian Pizza attempt 2 1.Select MargheritaPizza and remove VegetarianPizza from its superclasses 2.Select VegetarianPizza and create a restriction to say that it only has toppings from VegetarianTopping 3.Make this a defined class by moving all conditions fromNecessary to Necessary & Sufficient Make sure when you release you are on top of the existing restriction otherwise you will get 2 sets of conditions. You should have a single orange icon on the right stretching across both conditions 4.Classify your ontology What happens? Start with pizzas2_6.owl

29/11/2004CS646: N. Drummond, M. Horridge24 Open World Assumption The reasoner does not have enough information to classify pizzas under VegetarianPizza Typically several Existential restrictions on a single property with different fillers – like primitive pizzas Existential should be paraphrased by amongst other things… Must state that a description is complete We need closure for the given property This is in the form of a Universal Restriction with a Union of the other fillers using that property

29/11/2004CS646: N. Drummond, M. Horridge25 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

29/11/2004CS646: N. Drummond, M. Horridge26 Closing Pizza Descriptions 1.Select MargheritaPizza 2.Create a Universal Restriction on the hasTopping property with a filler of TomatoTopping MozzarellaTopping Remember, you can type or to achieve this, or you can use the expression palette 3.Close your other pizzas Each time you need to create a filler with the union of all the classes used on the hasTopping property (ie all the toppings used on that pizza) 4.Classify your ontology Finally, the defined class VegetarianPizza should subsume any classes that only have vegetarian toppings Start with pizzas2_7.owl

29/11/2004CS646: N. Drummond, M. Horridge27 Summary You should now be able to: Use Defined Classes allow a polyhierarchy to be computed Classify and check consistency using a Reasoner Create Covering Axioms Close Class Descriptions to cope with Open World Reasoning

29/11/2004CS646: N. Drummond, M. Horridge28 Viewing our Hierarchy Graphically

29/11/2004CS646: N. Drummond, M. Horridge29 OWLViz Tab View Inferred Model View Asserted Model Polyhierarchy tangle

29/11/2004CS646: N. Drummond, M. Horridge30 Your Pizza Finder Once you have a pizza ontology you are happy with, you can plug it in to the PizzaFinder Instructions available on line at

29/11/2004CS646: N. Drummond, M. Horridge31 Other Exercises: Create a ProteinLoversPizza Create a new subclass of Pizza Define this as: Any Pizza that has at least one MeatTopping and at least one CheeseTopping and at least one FishTopping If you dont have any pizzas that will classify under this, create one which should (SicilianaPizza should) Classify to check that it works Start with pizzas2_8.owl

29/11/2004CS646: N. Drummond, M. Horridge32 Other Exercises: Define RealItalianPizza Convert RealItalianPizza to a defined class Add information to your pizzas to allow some of them to classify under this one Classify remember to check your disjoint if you have problems Start with pizzas2_9.owl

29/11/2004CS646: N. Drummond, M. Horridge33 Thankyou Feedback on tutorial appreciated Powerpoint slides available from Software / resources / community at: – –