Introduction to Ontologies - PowerPoint PPT Presentation

1 / 57
About This Presentation
Title:

Introduction to Ontologies

Description:

Introduction to Ontologies. focussing on OWL. Nick Drummond. Overview. Getting to Know OWL ... Can therefore be used to capture knowledge in a machine ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 58
Provided by: nickdr
Category:

less

Transcript and Presenter's Notes

Title: Introduction to Ontologies


1
Introduction to Ontologies
Nick Drummond
  • focussing on OWL

2
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?

3
Getting to Know OWL
  • OWL is the Web Ontology Language
  • Its part of the Semantic Web framework
  • Its a standard

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

5
OWL Helps Us
Describe something, rather than just name it.
Class (BlueThing) does not mean anything
Class (BlueThing complete owlThing restriction
(hasColour someValuesFrom (Blue)))
6
OWL comes in 3 Flavours
7
How Can I Recognise OWL?
  • 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

8
OWL Syntax abstract syntax
  • One of the clearer human-readable syntaxes
  • Class(SpicyPizza complete
  • annotation(rdfslabel "PizzaTemperada"_at_pt)
  • annotation(rdfscomment "Any pizza that has a
    spicy topping
  • is a SpicyPizza"_at_en)
  • Pizza
  • restriction(hasTopping someValuesFrom(SpicyToppin
    g))
  • )

9
OWL Syntax N3
  • Recommended for human-readable fragments
  • defaultSpicyPizza
  • a owlClass
  • rdfscomment "Any pizza that has a spicy
    topping is a SpicyPizza"_at_en
  • rdfslabel "PizzaTemperada"_at_pt
  • owlequivalentClass
  • a owlClass
  • owlintersectionOf (defaultPizza
    a owlRestriction
  • owlonProperty
    defaulthasTopping
  • owlsomeValuesFrom
    defaultSpicyTopping
  • )
  • .

10
OWL Syntax RDF/XML
  • Recommended for serialisation
  • ltowlClass rdfID"SpicyPizza"gt
  • ltrdfslabel xmllang"pt"gtPizzaTemperadalt/rdfs
    labelgt
  • ltrdfscomment xmllang"en"gtAny pizza that
    has a spicy topping is a SpicyPizzalt/rdfscommentgt
  • ltowlequivalentClassgt
  • ltowlClassgt
  • ltowlintersectionOf rdfparseType"Collect
    ion"gt
  • ltowlClass rdfabout"Pizza"/gt
  • ltowlRestrictiongt
  • ltowlonPropertygt
  • ltowlObjectProperty
    rdfabout"hasTopping"/gt
  • lt/owlonPropertygt
  • ltowlsomeValuesFrom
    rdfresource"SpicyTopping"/gt
  • lt/owlRestrictiongt
  • lt/owlintersectionOfgt
  • lt/owlClassgt
  • lt/owlequivalentClassgt
  • lt/owlClassgt

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

12
OWL Constructs Overview
13
OWL Constructs Classes
  • 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

14
OWL Constructs Properties
  • 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

15
OWL Constructs Individuals
  • 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

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

17
Describing a Class Hierarchy
  • 2 important things to say about classes
  • Where can we put them?
  • Where cant we put them?

Animal
Shark
Hot Air Balloon?
18
Where can we put this class?
Subsumption in OWL
  • Subsumption is the primary axis (relationship) in
    OWL
  • Superclass/subclass relationship, isa
  • All members of a subclass must be members of its
    superclasses

owlThing superclass of all Classes
  • Animal subsumes Shark
  • Animal is a superclass of Shark
  • Shark is a subclass of Animal
  • All Sharks are also Animals

19
Where cant we put this class?
Disjointness in OWL
  • Regardless of where they exist in the hierarchy,
    OWL assumes that classes can overlap

By default, an individual could be both an Animal
and a Hot Air Balloon at the same time
20
Where cant we put this class?
Disjointness in OWL
  • Stating that 2 classes are disjoint means

individual
Something cannot be both an Animal and a Hot Air
Balloon at the same time
Hot Air Balloon can never be a subclass of Animal
(and vice-versa) This can help us find errors
21
Types of Class
22
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
23
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

24
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

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

26
An example
  • Existential restriction on primitive class Shark
  • necessarily hasMouthPart some Teeth

Every member of the Shark class must have at
least one mouthpart from the class Teeth
27
An example
  • Existential restriction on primitive class Shark
  • necessarily hasMouthPart some Teeth

There can be no member of Shark, that does not
have at least one hasMouthPart relationship with
an member of class Teeth
28
Restriction Types
29
More About Properties
  • 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

30
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

31
Reasoners Inference
Reasoner A clever (probably magic) black box
designed by clever people Best to let them worry
about how they work
32
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

33
Consistency Checking
Shark (primitive class) Animal and eats some
(Person and Seal)
Inconsistent cannot contain any individuals
Disjoint (Person, Seal) Person and Seal
empty Cannot have some empty
Person
Seal
34
Automatic Classification
Trivial example
Shark (primitive class) Animal and hasMouthPart
some Fangs
35
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)

36
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 http// connection

37
Is OWL Dangerous?
  • 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

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

39
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
  • http//www.co-ode.org/resources/papers/

40
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

41
Open World Assumption
  • hasMouthPart some
  • Do sharks have a trunk?
  • Can sharks fly hot air balloons?

42
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

43
Creating Using OWL
  • Issues
  • Editors
  • Programming APIs
  • Storage
  • Reasoners

44
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

45
Editing OWL
  • 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

46
OWL Editors
http//www.xml.com/pub/a/2004/07/14/onto.html
47
  • Is a knowledge modelling environment
  • Is free, open source software
  • Is developed by Stanford Medical Informatics
  • Has a large user community (approx 30k)
  • http//protege.stanford.edu

48
  • 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

49
(No Transcript)
50
Programming with OWL
  • Protégé OWL API
  • Wonderweb OWL API
  • Jena
  • pOWL API

51
API features
  • Parsing / Serialisation
  • Model Manipulation
  • Reasoning
  • Querying
  • Modularisation

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

53
Reasoners
  • FaCT
  • Pellet
  • RACER

54
Where Can I Find Examples?
  • 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)

55
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

56
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 http//www.aktors.org/
  • The Semantic Web Challenge http//challenge.seman
    ticweb.org/

57
Where Do I Go Next?
  • For tutorial materials, examples and links to
    some of the tools go to the CO-ODE site
  • http//www.co-ode.org/

(in)famous pizza tutorial
Write a Comment
User Comments (0)
About PowerShow.com