IntroductionTo OWL

Information about IntroductionTo OWL

Published on January 4, 2008

Author: The_Rock

Source: authorstream.com

Content

Introduction to Ontologies:  Introduction to Ontologies focussing on OWL Nick Drummond Overview:  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:  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:  OWL Has Explicit Semantics Can therefore be used to capture knowledge in a machine understandable way Slide5:  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. OWL comes in 3 Flavours:  OWL comes in 3 Flavours 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 How Can I Recognise OWL? OWL Syntax: abstract syntax:  One of the clearer human-readable syntaxes Class(SpicyPizza complete annotation(rdfs:label "PizzaTemperada"@pt) annotation(rdfs:comment "Any pizza that has a spicy topping is a SpicyPizza"@en) Pizza restriction(hasTopping someValuesFrom(SpicyTopping)) ) OWL Syntax: abstract syntax OWL Syntax: N3:  Recommended for human-readable fragments default:SpicyPizza a owl:Class ; rdfs:comment "Any pizza that has a spicy topping is a SpicyPizza"@en ; rdfs:label "PizzaTemperada"@pt ; owl:equivalentClass [ a owl:Class ; owl:intersectionOf (default:Pizza [ a owl:Restriction ; owl:onProperty default:hasTopping ; owl:someValuesFrom default:SpicyTopping ]) ] . OWL Syntax: N3 OWL Syntax: RDF/XML:  Recommended for serialisation <owl:Class rdf:ID="SpicyPizza"> <rdfs:label xml:lang="pt">PizzaTemperada</rdfs:label> <rdfs:comment xml:lang="en">Any pizza that has a spicy topping is a SpicyPizza</rdfs:comment> <owl:equivalentClass> <owl:Class> <owl:intersectionOf rdf:parseType="Collection"> <owl:Class rdf:about="#Pizza"/> <owl:Restriction> <owl:onProperty> <owl:ObjectProperty rdf:about="#hasTopping"/> </owl:onProperty> <owl:someValuesFrom rdf:resource="#SpicyTopping"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> OWL Syntax: RDF/XML Tools “Hiding the Syntax”:  Tools “Hiding the Syntax” In the tools, you are more likely to find OWL looking more like a tree of classes And their descriptions OWL Constructs Overview:  OWL Constructs Overview 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 OWL Constructs: Classes 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 OWL Constructs: Properties 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 OWL Constructs: Individuals More About Classes:  Describing a Class Hierarchy Types of Class Describing the Classes Relationships in OWL More About Classes Describing a Class Hierarchy:  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? Where can we put this class?:  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 Subsumption in OWL Where can we put this class? Where can’t 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 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?:  Where can’t we put this class? Stating that 2 classes are disjoint means = individual Something cannot be both an Animal and a Hot Air Balloon at the same time 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:  Types of Class Primitive vs Defined:  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:  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:  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 Restrictions are a type of anonymous class They describe the relationships that must hold for members (Individuals) of this class An example:  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” An example:  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” Restriction Types:  Restriction Types 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 More About Properties Property Characteristics:  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 Reasoners & Inference:  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: 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:  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:  Automatic Classification Trivial example Shark (primitive class) Animal and hasMouthPart some Fangs When to use a Reasoner:  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:  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 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 Is OWL Dangerous? Use OWL Correctly:  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:  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/ Open World Assumption:  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:  Open World Assumption hasMouthPart some Do sharks have a trunk? Can sharks fly hot air balloons? Closure:  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 Creating & Using OWL:  Issues Editors Programming APIs Storage Reasoners Creating & Using OWL Issues:  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 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 Editing OWL OWL Editors:  OWL Editors http://www.xml.com/pub/a/2004/07/14/onto.html Slide47:  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 Slide48:  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:  Programming with OWL Protégé OWL API Wonderweb OWL API Jena pOWL API API features:  API features Parsing / Serialisation Model Manipulation Reasoning Querying Modularisation Storage of OWL:  Storage of OWL Files (RDF/XML) Databases (triplestores) 3Store Sesame Jena InstanceStore (Individuals) Reasoners:  Reasoners FaCT++ Pellet RACER 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) Where Can I Find Examples? Example Ontologies:  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:  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.semanticweb.org/ 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 Where Do I Go Next?

Related presentations


Other presentations created by The_Rock

airlines
30. 03. 2008
0 views

airlines

tradepolicy
22. 04. 2008
0 views

tradepolicy

AVCA CHRIS MWEBESA
13. 04. 2008
0 views

AVCA CHRIS MWEBESA

wolf032806
10. 04. 2008
0 views

wolf032806

UEI SI2006 CitiesIntro
07. 04. 2008
0 views

UEI SI2006 CitiesIntro

Wisenews
28. 03. 2008
0 views

Wisenews

Mogi Tsinghua
27. 03. 2008
0 views

Mogi Tsinghua

2007070302122666487
26. 03. 2008
0 views

2007070302122666487

networking 101
19. 06. 2007
0 views

networking 101

Bowen Family Systems Theory
19. 02. 2008
0 views

Bowen Family Systems Theory

cipher machines
01. 01. 2008
0 views

cipher machines

huwang
29. 09. 2007
0 views

huwang

amart3
02. 10. 2007
0 views

amart3

Finland Nokia
07. 09. 2007
0 views

Finland Nokia

SINUS Milieu stud
12. 10. 2007
0 views

SINUS Milieu stud

AAS SD05 present
29. 11. 2007
0 views

AAS SD05 present

Germany Voting
27. 08. 2007
0 views

Germany Voting

disaster 2001
27. 08. 2007
0 views

disaster 2001

Bergstrom
27. 08. 2007
0 views

Bergstrom

workshop24 2
27. 08. 2007
0 views

workshop24 2

History of electric charge
20. 11. 2007
0 views

History of electric charge

Debra Lieberman
22. 11. 2007
0 views

Debra Lieberman

Reading Genres
27. 08. 2007
0 views

Reading Genres

Plant Establishment
02. 01. 2008
0 views

Plant Establishment

SPACE
03. 01. 2008
0 views

SPACE

HBCU Deans Seminar 2005
01. 10. 2007
0 views

HBCU Deans Seminar 2005

genX
27. 09. 2007
0 views

genX

499HodoCuba04
11. 12. 2007
0 views

499HodoCuba04

ext ref uncertainty
27. 08. 2007
0 views

ext ref uncertainty

Intro HTML
09. 10. 2007
0 views

Intro HTML

Ransom Pollen Drift in Wheat
04. 10. 2007
0 views

Ransom Pollen Drift in Wheat

overview norway with notes final
07. 09. 2007
0 views

overview norway with notes final

2004 CFS Power Point for LEPC
26. 02. 2008
0 views

2004 CFS Power Point for LEPC

fps ml talk
28. 02. 2008
0 views

fps ml talk

11979
29. 02. 2008
0 views

11979

presentation cons 2007 e
04. 03. 2008
0 views

presentation cons 2007 e

knox trail proposal
10. 03. 2008
0 views

knox trail proposal

wwired scare
03. 01. 2008
0 views

wwired scare

Banff
13. 03. 2008
0 views

Banff

Technological Prerequisites
18. 03. 2008
0 views

Technological Prerequisites

SKH TOURCAN POWERPOINT
21. 03. 2008
0 views

SKH TOURCAN POWERPOINT

Un Arco Iris para ti 2066
21. 06. 2007
0 views

Un Arco Iris para ti 2066

Diarréia Crônica em AIDS
28. 12. 2007
0 views

Diarréia Crônica em AIDS

liebeversicherung
19. 06. 2007
0 views

liebeversicherung

Lab49 Algo v6
19. 06. 2007
0 views

Lab49 Algo v6

SWR0311
19. 06. 2007
0 views

SWR0311

Tibetan Dali Lama questions
19. 06. 2007
0 views

Tibetan Dali Lama questions

15828233
03. 10. 2007
0 views

15828233

strand
19. 06. 2007
0 views

strand

Yo quisiera ser 1953
21. 06. 2007
0 views

Yo quisiera ser 1953

Sin vicios para matrimonio 2008
21. 06. 2007
0 views

Sin vicios para matrimonio 2008

Lesson7 OverheadT ransparencies
19. 06. 2007
0 views

Lesson7 OverheadT ransparencies

Profesiones 1950
21. 06. 2007
0 views

Profesiones 1950

slides oct04
19. 06. 2007
0 views

slides oct04

Suarez pres
28. 09. 2007
0 views

Suarez pres

140103
10. 10. 2007
0 views

140103

Lec1 intro
21. 11. 2007
0 views

Lec1 intro

FIcase Oslo workshop
07. 09. 2007
0 views

FIcase Oslo workshop

two years
19. 06. 2007
0 views

two years

MEDITARE
19. 06. 2007
0 views

MEDITARE

Se necesita amor 1955
21. 06. 2007
0 views

Se necesita amor 1955

OAG Sinha
19. 06. 2007
0 views

OAG Sinha

spit
19. 06. 2007
0 views

spit