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

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

CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
Developing OWL Ontologies with Protégé 4
An Introduction to RDF(S) and a Quick Tour of OWL
McGraw-Hill/Irwin © The McGraw-Hill Companies, All Rights Reserved Creating Gantt Charts With Microsoft Project Technology Plug-In T12.
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.
Protégé Classes, Properties and Instances Susana R. de Novoa UNIK4710.
1 CSC 9010 Spring, Paula MatuszekSome slides taken from
Coastal Atlas Interoperability - Ontologies (continued) Luis Bermudez Stephanie Watson Marine Metadata Interoperability Initiative 1.
Access Lesson 2 Creating a Database
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
Chapter 8: Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
XP New Perspectives on Microsoft Office Access 2003, Second Edition- Tutorial 2 1 Microsoft Office Access 2003 Tutorial 2 – Creating And Maintaining A.
A Guide to Oracle9i1 Introduction To Forms Builder Chapter 5.
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.
Creating And Maintaining A Database. 2 Learn the guidelines for designing databases When designing a database, first try to think of all the fields of.
Office 2003 Introductory Concepts and Techniques M i c r o s o f t Access Project 3 Maintaining a Database Using the Design and Update Features of Access.
Editing Description Logic Ontologies with the Protege OWL Plugin.
NEES Central Goran Josipovic IT Manager
Access Tutorial 10 Automating Tasks with Macros
Logics for Data and Knowledge Representation
SEMANTIC WEB, OWL & PROTÉGÉ Matthew J Wood CS 570 – Topics in Artificial Intelligence Spring 2013.
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.
ONTOLOGY ENGINEERING Lab #1 - August 25, Lab Syllabus 2  Lab 1 – 8/25: Introduction and Overview of Protégé  Lab 2 – 9/8: Building an ontology.
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.
A1 Visual C++.NET Intro Programming in C++ Computer Science Dept Va Tech August, 2002 © Barnette ND & McQuain WD 1 Quick Introduction The following.
Alice 2.0 Introductory Concepts and Techniques Project 1 Exploring Alice and Object-Oriented Programming.
Management Information Systems MS Access MS Access is an application software that facilitates us to create Database Management Systems (DBMS)
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 1: Primitive.
Roberto Marabini Images from: XXVI VAKKI SYMPOSIUM – February Vaasa, Finland.
XP New Perspectives on Microsoft Access 2002 Tutorial 21 Microsoft Access Tutorial 2 – Creating And Maintaining A Database.
MS Access 2007 Management Information Systems 1. Overview 2  What is MS Access?  Access Terminology  Access Window  Database Window  Create New Database.
BioHealth Informatics Group A Practical Introduction to Ontologies & OWL Session 2: Defined Classes and Additional Modelling Constructs in OWL Nick Drummond.
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.
Ontology Engineering Lab #3 – September 16, 2013.
ONTOLOGY ENGINEERING Lab #3 – September 15,
BioHealth Informatics Group Copyright © 2005, The University of Manchester1 A Practical Introduction to Ontologies & OWL Additional Exercises: Common Errors.
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.
OWL (Ontology Web Language and Applications) Maw-Sheng Horng Department of Mathematics and Information Education National Taipei University of Education.
A Practical Introduction to Ontologies & OWL
Creating Oracle Business Intelligence Interactive Dashboards
Based on ProtegeOWLTutorial at protege website
Maintaining a Database Using the Design and Update Features of Access
Business Objects Overview
Information Organization
Lab exercise - 3a Alan Rector & colleagues
Presentation by the COODE and
Creating Charts & Dashboards
Creating Database Tables
Session 2: Defined Classes Nick Drummond
CS646: OWL Tutorial (session 2)
Session 1: Primitive Classes Nick Drummond
Microsoft Office Access 2003
Knowledge Representation Part VII Protégé / RDFS / OWL / ++
Presentation transcript:

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

29/11/2004CS646: N. Drummond, M. Horridge2 CS646: Overview Session 1: Interface basics Session 2: Defining a vegetarian pizza

29/11/2004CS646: N. Drummond, M. Horridge3 CS646: This session Review: OWL Basics Intro: Protégé-OWL Interface: Creating Classes Concept: Disjointness Interface: Creating Properties Concept: Describing Classes Interface: Creating Restrictions

29/11/2004CS646: N. Drummond, M. Horridge4 Review of OWL (30 secs) OWL… is a W3C standard – Web Ontology Language comes in 3 flavours (lite, DL and full) –we are using OWL DL (Description Logic) –DL = decidable fragment of First Order Logic (FOL) is generally found in XML/RDF syntax is therefore not much fun to write by hand So, we have tools to help us

29/11/2004CS646: N. Drummond, M. Horridge5 OWL Constructs PersonCountry = class (concept) Animal = individual (instance) Belgium Paraguay China Latvia Elvis Hai Holger Kylie S.Claus Rudolph Flipper = property (relationship) lives_in has_pet

29/11/2004CS646: N. Drummond, M. Horridge6 Get Protégé-OWL 1.Go to: 2.Open protege3beta.zip 3.Extract to C:\ 4.Open C:\Protégé_3.0_beta Logon to Windows

29/11/2004CS646: N. Drummond, M. Horridge7 Starting Protégé-OWL 1.Select “OWL Files” 2.Select “New” Run Protégé.exe

29/11/2004CS646: N. Drummond, M. Horridge8 Protégé OWL plugin Protégé tabs

29/11/2004CS646: N. Drummond, M. Horridge9 Protégé OWL plugin: Tabs Used in this tutorial Changing the GUI Populating the model Top-level functionality Extensions (visualisation)

29/11/2004CS646: N. Drummond, M. Horridge10 Classes Tab

29/11/2004CS646: N. Drummond, M. Horridge11 ClassesTab: Asserted Class Hierarchy Subsumption hierarchy (superclass/subclass) Structure as asserted by the ontology engineer Create and Delete classes (actually subclasses!!) Everything is a subclass of owl:Thing Search for class

29/11/2004CS646: N. Drummond, M. Horridge12 ClassesTab: Class Editor

29/11/2004CS646: N. Drummond, M. Horridge13 ClassesTab: Class Editor Class annotations (for class metadata) Class name and documentation Properties “available” to Class Disjoints widget Conditions Widget Class-specific tools (find usage etc)

29/11/2004CS646: N. Drummond, M. Horridge14 Create Classes 1.Click the “Create Class” button (this is above the class hierarchy) A new class will be created as a subclass of owl:Thing 2.Type in a new name “DomainConcept” over the default (return updates the hierarchy) 3.Req. for later labs: document your class using the rdfs:comment field 4.Create another class called “Pizza” using the same method You will notice that Pizza has been created as a subclass of DomainConcept as this was the class selected when the button was pressed. You can also right-click any class and select “Create Class” 5.Create two more subclasses of DomainConcept called “PizzaTopping” and “PizzaBase”. Any mistakes, use the “Delete Class” button next to “Create Class” Start with your empty ontology

29/11/2004CS646: N. Drummond, M. Horridge15 Disjointness OWL assumes that classes overlap Pizza PizzaTopping = individual This means an individual could be both a Pizza and a PizzaTopping at the same time We want to state this is not the case

29/11/2004CS646: N. Drummond, M. Horridge16 Disjointness If we state that classes are disjoint This means an individual cannot be both a Pizza and a PizzaTopping at the same time We must do this explicitly in the interface Pizza PizzaTopping = individual

29/11/2004CS646: N. Drummond, M. Horridge17 ClassesTab: Disjoints Widget Add siblings as disjoint Add new disjoint Remove disjoint siblings List of disjoint classes

29/11/2004CS646: N. Drummond, M. Horridge18 Make Classes Disjoint 1.Select the Pizza class You will notice that the disjoints widget is empty 2.Click the “Add all siblings…” button The “Add siblings to disjoints dialog pops up 3.Select the “Mutually between all siblings” option and OK PizzaTopping and PizzaBase appear in the disjoints widget 4.Select the PizzaTopping class Pizza and PizzaBase are already in the disjoints widget 5.Note that the same applies for PizzaBase Start with your existing ontology

29/11/2004CS646: N. Drummond, M. Horridge19 Save Your Work 1.Select File  Save A dialog (as shown) will pop up 2.Select a file using a file selector by clicking the button on the top right You will notice that there are 2 files created.pprj – the project file this just stores information about the GUI and the workspace.owl – the OWL file this is where your ontology is stored in RDF/OWL format 3.Select OK OWL = easy to make mistakes – save regularly

29/11/2004CS646: N. Drummond, M. Horridge20 Create PizzaToppings 1.Create subclasses of PizzaTopping: CheeseTopping VegetableTopping MeatTopping 2.Make these subclasses all disjoint from one another (remember to chose “Mutually between all siblings” when prompted) 3.Create subclasses of CheeseTopping: MozzarellaTopping, ParmesanTopping 4.Make these subclasses all disjoint from one another 5.Create subclasses of VegetableTopping and make them disjoint: TomatoTopping, MushroomTopping 6.Save to another file using File  Save As… Start with your existing ontology

29/11/2004CS646: N. Drummond, M. Horridge21 What have we got? We’ve created a tree of disjoint classes Disjoints are inherited down the tree egsomething that is a TomatoTopping cannot be a Pizza because its superclass, PizzaTopping, is disjoint from Pizza You should now be able to select every class (except DomainConcept) and see its siblings in the disjoints widget

29/11/2004CS646: N. Drummond, M. Horridge22 What are we missing? This is not a semantically rich model Apart from “is kind of” and “is not kind of”, we currently don’t have any other information of interest We want to say more about Pizza individuals, such as their relationship with other individuals We can do this with properties Pizza PizzaTopping = individual

29/11/2004CS646: N. Drummond, M. Horridge23 Properties Tab

29/11/2004CS646: N. Drummond, M. Horridge24 Properties Tab: Property Browser Properties can be in a hierarchy Search for property SuperProperties of the current selected

29/11/2004CS646: N. Drummond, M. Horridge25 Properties Tab: Property Browser not used today: - New Datatype Property (String, int etc) New Object Property: Associates an individual to another individual Delete Property - New Annotation Properties for metadata - New SubProperty – ie create “under” the current selection

29/11/2004CS646: N. Drummond, M. Horridge26 Create a Property 1.Switch to the Properties tab There are currently no properties, so the list is blank 2.Create a new Object property using the button in the property browser 3.Call the new Property “hasTopping” 4.Create another Object Property called “hasBase” 5.Save under a new filename Start with your existing ontology

29/11/2004CS646: N. Drummond, M. Horridge27 Associating Properties with Classes We now have two properties we want to use to describe Pizza individuals. To do this, we must go back to the Pizza class and add some further information This comes in the form of Restrictions (which are a type of Condition)

29/11/2004CS646: N. Drummond, M. Horridge28 ClassesTab: Conditions Widget Conditions asserted by the ontology engineer Definition of the class (later) Description of the class Conditions inherited from superclasses Add different types of condition

29/11/2004CS646: N. Drummond, M. Horridge29 Create a Restriction 1.Switch to the OWL Classes tab 2.Select Pizza Notice that the conditions widget only contains one item, DomainConcept with a Class icon. Superclasses show up in the conditions widget in this way 3.Click the “Create Restriction” button A dialog pops up that we will investigate in a minute 4.Select “hasBase” from the Restricted Property pane 5.Leave the Restriction type as “someValuesFrom” 6.Type “PizzaBase” in the Filler expression editor 7.Click OK A restriction has been added to the Conditions widget Start with your existing ontology

29/11/2004CS646: N. Drummond, M. Horridge30 What does this mean? We have created a restriction:  hasBase PizzaBase on Class Pizza as a necessary condition “If an individual is a member of this class, it is necessary that it has at least one hasBase relationship with an individual from the class PizzaBase” PizzaPizzaBase hasBase “Every individual of the Pizza class must have at least one base from the class PizzaBase”

29/11/2004CS646: N. Drummond, M. Horridge31 What does this mean? We have created a restriction:  hasBase PizzaBase on Class Pizza as a necessary condition PizzaPizzaBase hasBase “There can be no individual, that is a member of this class, that does not have at least one hasBase relationship with an individual from the class PizzaBase”

29/11/2004CS646: N. Drummond, M. Horridge32 Restrictions Popup Restriction Type Restricted Property Filler Expression Syntax check Expression Construct Palette

29/11/2004CS646: N. Drummond, M. Horridge33 Restriction Types  Existential, someValuesFrom“Some”, “At least one”  Universal, allValuesFrom“Only”  hasValue“equals x”  Cardinality“Exactly n”  Max Cardinality“At most n”  Min Cardinality“At least n”

29/11/2004CS646: N. Drummond, M. Horridge34 Another Existential Restriction 1.Make sure Pizza is selected 2.Create a new Existential (SomeValuesFrom) Restriction with the hasTopping property and a filler of PizzaTopping When entering the filler, you have 2 shortcut methods rather than typing the entire classname: 1) enter a partial name and use Tab to autocomplete 2) use the select Class button on the editor palette Start with your existing ontology

29/11/2004CS646: N. Drummond, M. Horridge35 Create a Universal Restriction 1.Create 2 disjoint subclasses of PizzaBase called “ThinAndCrispy” and “DeepPan” 2.Create a subclass of Pizza called “RealItalianPizza” 3.Create a new Universal (AllValuesFrom) Restriction on RealItalianPizza with the hasBase property and a filler of ThinAndCrispy Start with your existing ontology

29/11/2004CS646: N. Drummond, M. Horridge36 What does this mean? We have created a restriction:  hasBase ThinAndCrispy on Class RealItalianPizza as a necessary condition “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

29/11/2004CS646: N. Drummond, M. Horridge37 What does this mean? We have created a restriction:  hasBase ThinAndCrispy on Class RealItalianPizza as a necessary condition DeepPanRealItalianPizza ThinAndCrispy hasBase “No individual of the RealItalianPizza class can have a base from a class other than ThinAndCrispy” hasBase

29/11/2004CS646: N. Drummond, M. Horridge38 Universal Warning – Trivial Satisfaction If we had not already inherited:  hasBase PizzaBase from Class Pizza the following could hold 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 ie Universal Restrictions by themselves do not state “at least one”

29/11/2004CS646: N. Drummond, M. Horridge39 Summary You should now be able to: identify components of the Protégé-OWL Interface create Primitive Classes create Properties create some basic Restrictions on a Class using Existential and Universal qualifiers

29/11/2004CS646: N. Drummond, M. Horridge40 More exercises: Create a MargheritaPizza 1.Create a subclass of Pizza called NamedPizza 2.Create a subclass of NamedPizza called MargheritaPizza 3.Create a restriction to say that: “Every MargheritaPizza must have at least one topping from TomatoTopping” 4.Create another restriction to say that: “Every MargheritaPizza must have at least one topping from MozzarellaTopping” Start with your existing ontology

29/11/2004CS646: N. Drummond, M. Horridge41 More exercises: Create other pizzas 1.Add more topping ingredients as subclasses of PizzaTopping Use the hierarchy, but be aware of disjoints 2.Create more subclasses of NamedPizza Menus available at the front 3.Create a restrictions on these pizzas to describe their ingredients 4.Save this for the next session Start with your existing ontology