2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester1 Protégé-OWL Tutorial Session 2: Defined Classes Nick Drummond.

Slides:



Advertisements
Similar presentations
Interaction Design: Visio
Advertisements

29/11/2004CS646: N. Drummond, M. Horridge1 Presented by the CO-ODE and HyOntUse projects Funded by CS646: OWL Tutorial (session 2)
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
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.
Macros Tutorial Week 20. Objectives By the end of this tutorial you should understand how to: Create macros Assign macros to events Associate macros with.
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.
Programming with App Inventor Computing Institute for K-12 Teachers Summer 2012 Workshop.
Go to our website, and click on the eMedia Catalog link To find books, either click on the advanced search (which I will.
Downloading and Installing PAF Insight PAF Insight can be easily downloaded Or can be installed from a CD A license is needed t0 activate the program.
Copyright ©: SAMSUNG & Samsung Hope for Youth. All rights reserved Tutorials Software: Building apps Suitable for: Advanced.
Logics for Data and Knowledge Representation
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.
Alice 2.0 Introductory Concepts and Techniques Project 1 Exploring Alice and Object-Oriented Programming.
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?.
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 Sept 2004UK e-Science all hands meeting1 Designing User Interfaces to Minimise Common Errors in Ontology Development Alan Rector, Nick Drummond, Matthew.
Web Design-Lecture3-QN-2003 Web Design Enhancing a Website.
Fall 2003Sylnovie Merchant, Ph.D. ACCESS Tutorial Note: The purpose of this tutorial is to provide an introduction to some of the functions of ACCESS in.
1 Quiz Template: Using the ‘ask user’ functions By Deborah Nelson Duke University Under the direction of Professor Susan Rodger July 2009.
Ontology Engineering Lab #3 – September 16, 2013.
Learning PowerPoint Presenting your ideas as a slide show… …on the computer!
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
Open a new Flash File Action Script 2.0. Create a button like you did last lesson and name it Click to Play.
Ontology Engineering Lab #4 - September 23, 2013.
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.
Computer Basics Tutorial Text boxes like this will give you information. Boxes like this at the bottom of a slide will give you instructions. Press the.
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
Business Objects Overview
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)
Session 1: Primitive Classes Nick Drummond
Drop Shape Analysis Quick Start Guide with ImageJ
University of Manchester
Presentation transcript:

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester1 Protégé-OWL Tutorial Session 2: Defined Classes Nick Drummond

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester2 This session ►Issue: Primitive Classes & Polyhierarchies ►Advanced: Creating Defined Classes ►Reasoner: Classifying ►Union Classes: Covering Axioms ►Example: Creating a Vegetarian Pizza ►Issue: Open World Assumption ►Union Classes: Closure

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester3 Loading OWL files from scratch 1.If you’ve only got an OWL file: Select “OWL Files” as the Project Format, then “Build” to select the.owl file 2.If you’ve got a valid project file*: Select “OWL Files” as the Project Format, and then “Open Other” to find the.pprj file (if you’ve already opened it, it will be in “Open Recent”) 3.Open C:\Protégé_3.0_beta\examples\pizzas\pizzas2_0.owl * Ieone created on this version of Protégé - the s/w gets updated once every few days, so don’t count on it unless you’ve created it recently– safest to build from the.owl file if in doubt Run Protégé.exe

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester4 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

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester5 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

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester6 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

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester7 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 we have asserted that MargheritaPizza has 2 parents Start with pizzas2_1.owl

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester8 Reasoning about our Pizzas 1.Start RACER 2.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 your existing ontology MargheritaPizza turns out to be inconsistent – why? Remember MeatyVegetableTopping?

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester9 Attempting again 1.Remove the disjoint between VegetarianPizza and its siblings When prompted, choose to remove only between this class and its siblings 2.Re-Classify your ontology This should now be accepted by the reasoner with no inconsistencies Close the inferred hierarchy and results

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester10 Asserted Polyhierarchies ►We believe asserting polyhierarchies is bad let the reasoner do it! ►We lose some encapsulation of knowledge ►Difficult to maintain

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester11 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

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester12 Describing a MeatyPizza 1.Create a subclass of Pizza called MeatyPizza Don’t put in the disjoints or you’ll get the same problems as before In general, defined classes are not disjoint from siblings 2.Add a restriction to say: “Every MeatyPizza must have at least one meat topping” 3.Classify your ontology What happens? Start with your existing ontology, close the reasoner panes

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester13 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” 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 like this… 3.Classify your ontology What happens? Start with your existing ontology, close the reasoner panes

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester14 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

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester15 Viewing our Hierarchy Graphically

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester16 OWLViz Tab View Inferred ModelView Asserted Model Polyhierarchy tangle

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester17 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

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester18 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 your existing ontology

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester19 ►AKA “disjunction” ►This OR That OR TheOther ►(This That TheOther) ►Set theory ►Commonly used for: ►Covering axioms (like VegetarianTopping) ►Closure Class Constructors: Union

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester20 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

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester21 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 from “Necessary” 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 your existing ontology

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester22 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

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester23 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

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester24 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 your existing ontology

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester25 Other Definitions of Veggie Pizzas 1.Create a VegetarianPizza2 2.Create a new class expression ”not MeatyPizza” You can type “not” to achieve this, or you can use the expression palette 3.Convert this class to a defined class Move both Pizza and NOT MeatyPizza to the necessary & sufficient conditions 4.Classify your ontology Finally, the defined class VegetarianPizza2 should subsume any classes that are not MeatyPizzas Start with your existing ontology

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester26 Other Definitions of Veggie Pizzas 1.Create a VegetarianPizza3 2.Create a restriction to state that it has some MeatTopping 3.Negate this by editing the class expression (double click on it) 4.Convert this class to a defined class 5.Classify your ontology Start with your existing ontology

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester27 Other Definitions of Veggie Pizzas 1.Create a VegetarianPizza4 2.Create a universal restriction on the hasTopping property with a a filler of “NOT MeatTopping” 3.Convert this class to a defined class 4.Classify your ontology 5.Note that this is an equivalent class to the previous definition of VegetarianPizza –“  hasTopping NOT meat” –“NOT  hasTopping meat” Start with your existing ontology

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester28 Properties: Domain and Range 1.Add a domain of Pizza to hasTopping 2.Create a class Icecream under DomainConcept 3.Create a restriction to state that Icecream has at least one topping from CheeseTopping (yuk!) 4.Classify your ontology 5.What has happened to Icecream? 6.Make sure Icecream is disjoint to its siblings and reclassify Start with your existing ontology

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester29 Properties: Domain and Range ►Domain and Range are not used to restrict the interface ►They are used by the reasoner to infer additional information about individuals ►An individual that uses a property with a domain set can be inferred to be a member of the domain class (the same holds for range) ►Classes that uses a property with a domain set in an existential restriction will be inferred to be a subclass of the domain class (or inconsistant if these classes are disjoint) - the same does not apply to range. This is because all individuals in this class must have at least one relationship using this property

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester30 Properties: Functional Properties 1.Make hasTopping functional 2.Classify your ontology – what happens? 3.Undo your change to hasTopping, but make hasBase functional Start with your existing ontology

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester31 Other Exercises: Create an InterestingPizza 1.Create a class, InterestingPizza under Pizza 2.Create a minCardinality restriction for hasTopping with a value of 3 3.Convert to a defined class 4.Classify to check that it works – you may need to add some more pizzas

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester32 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

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester33 Other Exercises ►Add FishTopping to PizzaToppings, and correct your vegetarian pizzas to use “MeatTopping OR FishTopping” ►Create other PizzaToppings ►Create other Pizzas from the menu and check that they classify correctly

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester34 Summary You should now be able to: ►Use Defined Classes to allow a polyhierarchy to be computed ►Classify using a Reasoner ►Create Covering Axioms ►Close Class Descriptions to cope with Open World Reasoning ►Appreciate that there can be several ways to model a class (some of which are exactly equivalent) ►Understand the effects of using domain and range on properties

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester35 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…

2nd Feb 2005Protege-OWL tutorial, © 2005 Univ. of Manchester36 The Software ►Protégé is Free ►The OWL Plugin is Open Source ►Many plugins are available from scripting to visualisation ►Software / resources / community at: ► ►