Introduction to Ontologies focussing on OWL Nick Drummond.

Slides:



Advertisements
Similar presentations
CH-4 Ontologies, Querying and Data Integration. Introduction to RDF(S) RDF stands for Resource Description Framework. RDF is a standard for describing.
Advertisements

Developing OWL Ontologies with Protégé 4
Chronos: A Tool for Handling Temporal Ontologies in Protégé
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.
Tutorial Le Phuoc Son Hoang Huu Hanh Hue University.
SIG2: Ontology Language Standards WebOnt Briefing Ian Horrocks University of Manchester, UK.
Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
Ontology development in Protégé. Lecture 2 Introduction to Protégé 2 Pablo Romero, Department of Informatics Overview Components of an ontology The ontology.
Protégé Classes, Properties and Instances Susana R. de Novoa UNIK4710.
1 CSC 9010 Spring, Paula MatuszekSome slides taken from
Semantic Web Tools Vagan Terziyan Department of Mathematical Information Technology, University of Jyvaskyla ;
The Semantic Web – WEEK 11: Description Logic + OWL Featuring..MAD COWS.
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 15 Reasoning with (and Visualising) Ontologies Module Website: Practical :Protégé-2000 WITH.
CMSC838 Project Presentation An Ontology-based Approach for Managing Software Components by Vladimir Kolovski.
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.
Ontologies: Making Computers Smarter to Deal with Data Kei Cheung, PhD Yale Center for Medical Informatics CBB752, February 9, 2015, Yale University.
Logics for Data and Knowledge Representation
Knowledge Representation Ontology are best delivered in some computable representation Variety of choices with different: –Expressiveness The range of.
1 MASWS Multi-Agent Semantic Web Systems: OWL Stephen Potter, CISA, School of Informatics, University of Edinburgh, Edinburgh, UK.
Okech Odhiambo Faculty of Information Technology Strathmore University
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.
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.
INF 384 C, Spring 2009 Ontologies Knowledge representation to support computer reasoning.
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.
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.
Metadata. Generally speaking, metadata are data and information that describe and model data and information For example, a database schema is the metadata.
BioHealth Informatics Group A Practical Introduction to Ontologies & OWL Session 2: Defined Classes and Additional Modelling Constructs in OWL Nick Drummond.
Semantic Web - an introduction By Daniel Wu (danielwujr)
EEL 5937 Ontologies EEL 5937 Multi Agent Systems Lecture 5, Jan 23 th, 2003 Lotzi Bölöni.
SKOS. Ontologies Metadata –Resources marked-up with descriptions of their content. No good unless everyone speaks the same language; Terminologies –Provide.
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.
Introduction to the Semantic Web and Linked Data Module 1 - Unit 2 The Semantic Web and Linked Data Concepts 1-1 Library of Congress BIBFRAME Pilot Training.
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.
Metadata Common Vocabulary a journey from a glossary to an ontology of statistical metadata, and back Sérgio Bacelar
Practical RDF Chapter 12. Ontologies: RDF Business Models Shelley Powers, O’Reilly SNU IDB Lab. Taikyoung Kim.
ONTOLOGY ENGINEERING Lab #2 – September 8,
Description Logics Dr. Alexandra I. Cristea. Description Logics Description Logics allow formal concept definitions that can be reasoned about to be expressed.
WonderWeb. Ontology Infrastructure for the Semantic Web. IST Project Review Meeting, 11 th March, WP2: Tools Raphael Volz Universität.
OWL Web Ontology Language Summary IHan HSIAO (Sharon)
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.
Ccs.  Ontologies are used to capture knowledge about some domain of interest. ◦ An ontology describes the concepts in the domain and also the relationships.
Ontology 101 PHIN Ontology Workshop August Ontology 101 Agenda What is (an) Ontology? What do we mean when we use the word? The main types of Ontologies.
Ontology Design Patterns Dr Nicholas Gibbins –
OWL imports Nick Drummond or “How to make life hard for tool developers”
Chapter Describing Individuals OWL Individuals ▫Ontological Primitive Layer  Mostly described with RDF ▫Instances of user-defined ontological.
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
The Semantic Web By: Maulik Parikh.
Knowledge Representation Part II Description Logic & Introduction to Protégé Jan Pettersen Nytun.
ece 720 intelligent web: ontology and beyond
Presentation by the COODE and
CS646: OWL Tutorial (session 2)
ece 720 intelligent web: ontology and beyond
Session 1: Primitive Classes Nick Drummond
Knowledge Representation Part VII Protégé / RDFS / OWL / ++
Presentation transcript:

Introduction to Ontologies focussing on OWL Nick Drummond

Overview Getting to Know OWL How Can I Recognise OWL? OWL Constructs Overview –More About Classes –More About Properties Reasoners & Inference Is OWL Dangerous? –Common Mistakes –The Open World Problem Creating & Using OWL Where Can I find Examples?

Getting to Know OWL OWL is the Web Ontology Language It’s part of the Semantic Web framework It’s a standard

OWL Has Explicit Semantics Can therefore be used to capture knowledge in a machine understandable way

Class (BlueThing) does not mean anything Class (BlueThing complete owl:Thing restriction (hasColour someValuesFrom (Blue)) ) OWL Helps Us… Describe something, rather than just name it.

Lite partially restricted to aid learning curve lite DL = Description Logic Description Logics are a fragment of First Order Logic (FOL) that can be reasoned with DL Full unrestricted use of OWL constructs, but cannot reason Full OWL comes in 3 Flavours

OWL is often thought of as an extension to RDF which is not strictly true OWL is a syntax independent language that has several common representations –Abstract Syntax –N3 –RDF/XML Many tools try to completely abstract away from the syntax How Can I Recognise OWL?

One of the clearer human-readable syntaxes Class(SpicyPizza complete annotation(rdfs:label annotation(rdfs:comment "Any pizza that has a spicy topping is a Pizza restriction(hasTopping someValuesFrom(SpicyTopping)) ) OWL Syntax: abstract syntax

Recommended for human-readable fragments default:SpicyPizza a owl:Class ; rdfs:comment "Any pizza that has a spicy topping is a ; rdfs:label ; owl:equivalentClass [ a owl:Class ; owl:intersectionOf (default:Pizza [ a owl:Restriction ; owl:onProperty default:hasTopping ; owl:someValuesFrom default:SpicyTopping ]) ]. OWL Syntax: N3

Recommended for serialisation PizzaTemperada Any pizza that has a spicy topping is a SpicyPizza OWL Syntax: RDF/XML

Tools “Hiding the Syntax” In the tools, you are more likely to find OWL looking more like a tree of classes And their descriptions

PersonCountry Class (concept) Animal Individual (instance) Belgium Paraguay China Latvia Elvis Hai Holger Kylie S.Claus Rudolph Flipper lives_in has_pet arrow = relationship label = Property has_pet OWL Constructs Overview

Eg Mammal, Tree, Person, Building, Fluid, Company Classes are sets of Individuals aka “Type”, “Concept”, “Category”, “Kind” Membership of a Class is dependent on its logical description, not its name Classes do not have to be named – they can be logical expressions – eg things that have colour Blue OWL Constructs: Classes

Eg hasPart, isInhabitedBy, isNextTo, occursBefore 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 nick_drummond  givesTalk  owl_overview_talk_Dec_2005 OWL Constructs: Properties

Eg me, you, this talk, this room Individuals are the objects in our domain of interest aka “Instance”, “Object” Individuals may be (and are likely to be) a member of multiple Classes OWL Constructs: Individuals

Describing a Class Hierarchy Types of Class Describing the Classes –Relationships in OWL More About Classes

Describing a Class Hierarchy 2 important things to say about classes: –Where can we put them? –Where can’t we put them? Animal Shark Hot Air Balloon?

Subsumption is the primary axis (relationship) in OWL Superclass/subclass relationship, “isa” All members of a subclass must be members of its superclasses Animal subsumes Shark Animal is a superclass of Shark Shark is a subclass of Animal All Sharks are also Animals owl:Thing superclass of all Classes Shark Animal Subsumption in OWL Where can we put this class?

Where can’t we put this class? Regardless of where they exist in the hierarchy, OWL assumes that classes can overlap Animal Hot Air Balloon = individual By default, an individual could be both an Animal and a Hot Air Balloon at the same time Disjointness in OWL

Where can’t we put this class? Stating that 2 classes are disjoint means Hot Air Balloon = individual Something cannot be both an Animal and a Hot Air Balloon at the same time Animal Disjointness in OWL Hot Air Balloon can never be a subclass of Animal (and vice-versa) This can help us find errors

Types of Class owl:Thing (everything) owl:Nothing (nothing) Animal (primitive named class) hasDangerLevel some Dangerous (anonymous class - restriction) DangerousAnimal (defined named class)

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

Anonymous Classes Made up of logical expressions –Unions and Intersections (Or, And) –Complements (Not) –Enumerations (specified membership) –Restrictions (related to Property use) The members of an anonymous class are the set of Individuals that satisfy its logical definition

Relationships in OWL In OWL-DL, relationships can only be formed between Individuals or between an Individual and a data value. (In OWL-Full, Classes can be related, but this cannot be reasoned with) 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

Restrictions Restrictions are a type of anonymous class They describe the relationships that must hold for members (Individuals) of this class

An example Existential restriction on primitive class Shark: necessarily hasMouthPart some Teeth SharkTeeth hasMouthPart “Every member of the Shark class must have at least one mouthpart from the class Teeth”

An example Existential restriction on primitive class Shark: necessarily hasMouthPart some Teeth SharkTeeth hasMouthPart “There can be no member of Shark, that does not have at least one hasMouthPart relationship with an member of class Teeth”

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”

Different Types: –Object Property relates Individuals to Individuals –Datatype Property relates Individuals to data (int, string, float etc) –Annotation Property for attaching metadata to classes, individuals or properties More About Properties

Property Characteristics Domain and range can be set A property hierarchy can be created Inverse properties can be set Properties can be: –Transitive –Functional –Inverse Functional –Symmetric

Reasoner: A clever (probably magic) black box designed by clever people Best to let them worry about how they work ? ? ? ! ! ! Reasoners & Inference

Reasoners: Inference Reasoners are used to infer information that is not explicitly contained within the ontology You may also hear them being referred to as Classifiers Standard reasoner services are: –Consistency Checking –Subsumption Checking (Automatic Subsumption) –Equivalence Checking –Instantiation Checking

Consistency Checking Shark (primitive class) Animal and eats some (Person and Seal) Person Seal Inconsistent = cannot contain any individuals Disjoint (Person, Seal) Person and Seal = empty Cannot have some empty

Automatic Classification Trivial example DangerousAnimal (defined class) Animal and hasMouthPart some Teeth Shark (primitive class) Animal and hasMouthPart some Fangs Teeth Fangs

When to use a Reasoner We often use one during development as an ontology compiler. A well designed ontology can be compiled to check its meaning is that intended Or at publish time – so many inferences are already made for the user apps Or at runtime in applications as a querying mechanism (esp. useful for smaller ontologies)

Reasoners and the tools Many of the editing tools and APIs support the use of reasoners implementing the DIG interface This means that the reasoner you choose is independent of the application using it, so you can choose the implementation you want depending on your needs (eg some may be more optimised for speed/memory, others may have more features) These reasoners typically set up a service running locally or on a remote server Protégé-OWL, for example can connect to reasoners over an connection

Yes, in the wrong hands!! 3 major issues –Because of the explicit semantics its important that OWL be used as intended –Learning OWL is non-trivial and some common mistakes are made by most beginners –OWL operates under the Open World Assumption Is OWL Dangerous?

Use OWL Correctly As we’ve seen, OWL is more than just a syntax Please do not decide to interpret it in your own way Doing this makes reuse impossible

Common Modelling Mistakes Some of the common mistakes made when modelling have been enumerated They include: –Misuse of property domain and range –Misunderstanding of intersections and other constructs –Not understanding the Open World Assumption –Misuse/lack of of disjoints See OWL Pizzas: Common errors & common patterns

Open World Assumption In a closed world (like DBs), the information we have is everything On the Semantic Web, we want people to be able to extend our models. In this open world, we assume there can always more information added later 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 hasMouthPart some Do sharks have a trunk? Can sharks fly hot air balloons?

Closure hasMouthPart some hasMouthPart only Sharks definitely cannot have trunks (as long as Trunks are disjoint from Teeth) But someone could still extend our description to say that Sharks can fly Hot Air Balloons

Issues Editors Programming APIs Storage Reasoners Creating & Using OWL

Issues Suitability for purpose –Open vs Closed World problems –When to use a reasoner How to expose/hide the ontology –Interfaces/ontology services Ontology Development Methodologies –Small team, tight knit –Open “folksonomies”

Editing the RDF/XML by hand is probably not recommended (as we have seen) Ontologies range in size, but because of their explicit nature they require verbose definitions Thankfully we have tools to help us reduce the syntactic complexity However, the tools are still in the process of trying to reduce the semantic complexity Building ontologies in OWL is still hard Editing OWL

OWL Editors SWOOP

Is a knowledge modelling environment Is free, open source software Is developed by Stanford Medical Informatics Has a large user community (approx 30k)

core is based on object oriented modelling has an open architecture that allows other modelling languages to be built on top supports development of plugins to allow backend / interface extensions supports OWL through the Protégé-OWL plugin

Programming with OWL Protégé OWL API Wonderweb OWL API Jena pOWL API

API features Parsing / Serialisation Model Manipulation Reasoning Querying Modularisation

Storage of OWL Files (RDF/XML) Databases (triplestores) –3Store –Sesame –Jena –InstanceStore (Individuals)

Reasoners FaCT++ Pellet RACER

The w3c OWL pages are a good place to start The w3c Semantic Web Best Practices and Deployment Working Group Tutorials and courses run by Manchester and other establishments generate a large number of examples (eg CS646) Where Can I Find Examples?

Example Ontologies OBO – Open BioMedical Ontologies The Gene Ontology Bio tutorial and Pizza tutorial examples on the CO-ODE site Libraries are commonly published on OWL editor websites Search using Google or Swoogle

Example Applications PizzaFinder (dummy query application) COHSE – dynamic hyperlinking using ontologies Protein Phosphatase Modelling – ask Robert Stevens OWL Validator GONG (Gene Ontology Next Generation) AKT The Semantic Web Challenge

For tutorial materials, examples and links to some of the tools go to the CO-ODE site (in)famous pizza tutorial Where Do I Go Next?