Developing OWL Ontologies with Protégé 4

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.
CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
29/11/2004CS646: N. Drummond, M. Horridge1 Presented by the CO-ODE and HyOntUse projects Funded by CS646: OWL Tutorial (session 1)
An Introduction to Description Logics
An Introduction to RDF(S) and a Quick Tour of OWL
Knowledge Representation
Based on “A Practical Introduction to Ontologies & OWL” © 2005, The University of Manchester A Practical Introduction to Ontologies & OWL Session 3: Additional.
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.
Introduction to Ontologies focussing on OWL Nick Drummond.
1 CSC 9010 Spring, Paula MatuszekSome slides taken from
Chapter 8: Web Ontology Language (OWL) Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
The Semantic Web Week 14 Module Website: Lecture (SHORT): OWL PIZZAS Practical (LONGER): Getting to know Protégé-2000.
DAML+OIL Ontology Tutorial Chris Wroe, Robert Stevens (Sean Bechhofer, Carole Goble, Alan Rector, Ian Horrocks….) University of Manchester.
An Introduction to Description Logics. What Are Description Logics? A family of logic based Knowledge Representation formalisms –Descendants of semantic.
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.
Of 39 lecture 2: ontology - basics. of 39 ontology a branch of metaphysics relating to the nature and relations of being a particular theory about the.
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.
OWL 2 Web Ontology Language. Topics Introduction to OWL Usage of OWL Problems with OWL 1 Solutions from OWL 2.
Ming Fang 6/12/2009. Outlines  Classical logics  Introduction to DL  Syntax of DL  Semantics of DL  KR in DL  Reasoning in DL  Applications.
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.
BioHealth Informatics Group A Practical Introduction to Ontologies & OWL Session 2: Defined Classes and Additional Modelling Constructs in OWL Nick Drummond.
An Introduction to Description Logics (chapter 2 of DLHB)
Advanced topics in software engineering (Semantic web)
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lecture 5, Jan 23 th, 2003 Lotzi Bölöni.
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,
DAML+OIL: an Ontology Language for the Semantic Web.
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.
DL Overview Second Pass Ming Fang 06/19/2009. Outlines  Description Languages  Knowledge Representation in DL  Logical Inference in DL.
Ontology Engineering Lab #3 – September 16, 2013.
Knowledge Representation. Keywordsquick way for agents to locate potentially useful information Thesaurimore structured approach than keywords, arranging.
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
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.
Ontology Technology applied to Catalogues Paul Kopp.
Artificial Intelligence Knowledge Representation.
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
Based on ProtegeOWLTutorial at protege website
Knowledge Representation Part II Description Logic & Introduction to Protégé Jan Pettersen Nytun.
Information Organization
Description Logics.
ece 720 intelligent web: ontology and beyond
Semantic Web Foundations
ece 627 intelligent web: ontology and beyond
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
Description Logics.
Knowledge Representation Part VII Protégé / RDFS / OWL / ++
Presentation transcript:

Developing OWL Ontologies with Protégé 4 Simon Jupp, Bio-health Informatics Group, University of Manchester simon.jupp@manchester.ac.uk Timothy Redmond, Stanford Centre for Biomedical Research, Stanford University tredmond@stanford.edu

About this tutorial Quick tour of OWL Introduction to Protégé 4 interface How to build OWL ontologies in P4 Compositional approach Compositional lego

Why Pizzas? Pizzas have been used in Manchester tutorials for years. Pizzas were selected as a domain for several reasons: They are fun They are internationally known They are highly compositional They have a natural limit to their scope They are fairly neutral Although arguments still break out over representation Even pizzas can do this - its an inevitable part of knowledge modelling ARGUING IS NOT BAD!

Knowledge Representation before OWL Long history of Ontology development (predates computer science) Various ways to represent ontological structures Frames – easy to understand, good infrastructure: problem - inflexible Semantic networks – problem – NO semantics! Different conclusions from different reasoners! Object Orientated Databases (O2) – similar to Frames Description Logics Syntax consists of unary predicators, binary relations and a set of constructors e.g., LOOM, CLASSIC, DAML-OIL Latest standard OWL

OWL (Web Ontology Language) Latest standard in ontology languages from the World Wide Web Consortium (W3C) Logic based ontology language OWL ontologies can be thought of as a set of logical statements #1: People attend Intro to OWL course #2: Simon attending Intro to OWL course Infer: Simon is a Person OWL corresponds to a highly expressive Description Logic Many construct (Intersection, conjunction, union and disjunction, negation or complement, and restrictions …) Each with a well defined formal meaning that facilitates reasoning OWL-Lite and OWL-DL have well understood, formal semantics, with their foundations being Description Logics. This means these species are amenable to automated reasoning.

What do we do with OWL? Semantic Web Terminology building Creating a integrated Web of data Terminology building Can be simple is-a hierarchies Rich and highly axiomatised for complex reasoning OWL is used as a schema language e.g., Database alignment, Alternative to UML Ontology driven applications e.g., medical form generation Instance classification e.g., classifying proteins on functional groups Others???…. Build an ontology to drive form generation and data input system I’m going to input data about male and Blood pressure Here is a list of other things that you may wish to capture if you are recording blood pressure

OWL Constructs Overview lives_in Person Country Class (concept, category, type) Animal Elvis Hai Holger Kylie S.Claus Belgium Paraguay China Latvia lives_in Properties are binary relationship has_pet has_pet lives_in Individual (instance) arrow = relationship label = Property has_pet Rudolph Flipper

More Information about OWL W3C OWL Web Site http://www.w3.org/2004/OWL/ CO-ODE Web Site http://www.co-ode.org Protege-OWL Web Site http://protege.stanford.edu/plugins/owl

Overview Protégé Introduction Subsumption Creating a Class Hierarchy Consistency Disjointness Relationships & Properties Restrictions Polyhierarchies - Issues

… Is a knowledge modelling environment Is free, open source software Is developed by Stanford / Manchester Has a large user community (approx 30k) Protégé 4 built solely on OWL modelling language Supports development of plugins to allow backend / interface extensions

Subsumption A B A subsumes B A is a superclass of B Superclass/subclass relationship, “is-a” All members of a subclass can be inferred to be members of its superclasses Thing: superclass of all OWL Classes A A subsumes B A is a superclass of B B is a subclass of A All members of B are also members of A B

Labels – so what? A Pizza PizzaBase B PizzaTopping C D Humans might be able to interpret what the labels mean and how they are defined, but the computer cannot. Names/labels alone only have meaning to humans (and are often ambiguous) A B C D Pizza PizzaBase PizzaTopping

Disjointness VegetableTopping FruitTopping = individual OWL assumes that classes overlap FruitTopping VegetableTopping = individual encourage This means an individual could be both a VegetableTopping and a FruitTopping at the same time We want to state this is not the case

Disjointness VegetableTopping FruitTopping = individual If we state that classes are disjoint FruitTopping VegetableTopping = individual This means an individual cannot be both a FruitTopping and a VegetableTopping at the same time We must do this explicitly in the interface How about TomatoTopping?

Consistency Checking We’ve just created two statements Fruit and vegetable toppings are different things Tomato is a type of both We’d like to be able to check the logical consistency of our model This is one of the tasks that can be done automatically by software known as a Reasoner Being able to use a reasoner is one of the main advantages of using a logic-based formalism such as OWL (and why we are using OWL-DL)

Reasoners and Protégé Protégé-OWL supports the use of reasoners: Pellet, FaCT++ and Hermit This means that the reasoner you choose is independent of the ontology editor, so you can choose the implementation you want depending on your needs (e.g., some may be more optimised for speed/memory, others may have more features)

Relationships in OWL In OWL-DL, relationships can only be formed between Individuals or between an Individual and a data value. Relationships are formed along Properties We can restrict how these Properties are used: Globally – by stating things about the Property itself Or locally – by restricting their use for a given Class

OWL Properties Object Property Data-type Property Annotation Property

Properties Object Properties are used to relate Individuals e.g., hasPart, isInhabitedBy, isNextTo, occursBefore Object Properties are used to relate Individuals We often say that Individuals are related along a given property Relationships in OWL are binary: Subject  predicate  Object Individual a  hasProperty  Individual b simon_jupp  givesTalk  k-cap_tutorial_2009

Implies that Peggy and Margaret are the same individual Types of Properties Matthew Dorothy hasParent hasChild Inverse Functional (also known as single valued properties) hasBase is functional Peggy hasBirthMother Implies that Peggy and Margaret are the same individual Dorothy hasBirthMother Margaret

Other Types of Properties in OWL Inverse Functional Transitive Symmetric Asymmetric Reflexive Irrefelxive hasBase is functional

Restricting Classes with Properties We now have a property 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 We create Restrictions using the Class Description View Conditions can be any kind of Class – you have already added Named superclasses in the Class Description Frame. Restrictions are a type of Anonymous Class

Existential Restrictions All Pizzas have a Topping which is a PizzaTopping Pizza has an existential restriction: “hasTopping some PizzaTopping” Pizza PizzaTopping = individual hasTopping hasBase PizzaBase X X

Anonymous Classes We can talk about classes of things without explicitly naming them

Primitive vs Defined Blue Things Sharks “Smart Class” Acts like a query “Natural Kinds” Like primitive, but also: define necessary conditions that are also sufficient to recognise a member Eg have colour Blue Describe the necessary features of the members Eg live underwater “All sharks live underwater, but not everything that lives underwater is a shark” “All things that have colour blue are members of this class”

CheesyPizza A CheesyPizza is any pizza that has some cheese on it We would expect then, that some pizzas might be named pizzas and cheesy pizzas (among other things later on) We can use the reasoner to help us produce this polyhierarchy without having to assert multiple parents

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 CheesyPizza The inferred hierarchy is updated to reflect this and moved classes are highlighted in blue

hasTopping some CheeseTopping Why? Defined Classes Each set of Necessary & Sufficient conditions is an Equivalent Class Pizza hasTopping some CheeseTopping Pizza CheesyPizza CheesyPizza is equivalent to the intersection of Pizza and hasTopping some CheeseTopping Classes, all of whose individuals fit this definition are found to be subclasses of CheesyPizza, or are subsumed by CheesyPizza

Defined Classes We’ve created a Defined Class, CheesyPizza 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

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 English definitions on whiteboard Let’s model a Vegetarian Pizza

Intersection of Human and Male Intersection Classes Intersection Classes are formed by combining two or more classes with the intersection (AND) operator. Human Male Intersection of Human and Male

Union Classes B A aka “disjunction” This OR That OR TheOther A or 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) A Commonly used for: Covering axioms Closure

Woman and (not Professor) Complement Classes A complement class is specified by negating another class. It will contain the individuals that are not in the negated class. Professor Woman Woman and (not Professor)

DeMorgan’s Law not (A and B) = not A or not B not (A or (B and C) = not A and not (B and C) = not A and (not B or not C) not (hasTopping some X) = hasTopping only (not X)

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 only restriction We’ll first look at an example…

What does this mean? RealItalianPizza ThinAndCrispy We have created a restriction: hasBase only ThinAndCrispy on Class RealItalianPizza as a necessary condition RealItalianPizza ThinAndCrispy hasBase hasBase hasBase 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”

What does this mean? RealItalianPizza DeepPan ThinAndCrispy We have created a restriction: hasBase only ThinAndCrispy on Class RealItalianPizza as a necessary condition RealItalianPizza DeepPan hasBase ThinAndCrispy hasBase hasBase hasBase hasBase No individual of the RealItalianPizza class can have a base from a class other than ThinAndCrispy” NB. DeepPan and ThinAndCrispy are disjoint

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

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

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

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

Primitive Classes All classes in our ontology so far are Primitive We describe primitive pizzas Primitive Class = only Necessary Conditions They are marked as plain orange circles in the class hierarchy We condone building a disjoint tree of primitive classes

Asserted Polyhierarchies We believe asserting polyhierarchies is bad We lose some encapsulation of knowledge Why is this class a subclass of that one? Difficult to maintain Adding new classes becomes difficult because all subclasses may need to be updated Extracting from a graph is harder than from a tree Let the reasoner do it!

What we haven’t done Cardinality Datatypes Individuals OWL 2 Interesting Pizza equivalentTo Pizza that hasTopping min 4 PizzaTopping Datatypes LargePizza equivalentTo Pizza that hasDiameter > 12 Individuals ItalianPizza equivalentTo Pizza hasCountryOfOrigin value Italy OWL 2