dr. alexandra i. cristea acristea/ owl

82
Dr. Alexandra I. Cristea http://www.dcs.warwick.ac.uk/ ~acristea/ OWL

Upload: sofia-quinlan

Post on 28-Mar-2015

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Dr. Alexandra I. Cristea acristea/ OWL

Dr. Alexandra I. Cristea

http://www.dcs.warwick.ac.uk/~acristea/

OWL

Page 2: Dr. Alexandra I. Cristea acristea/ OWL

2

What is OWL?• W3C Recommendation, February 2004.

– web standard – Newest OWL 2 (November 2009)

• Web Ontology Language • built on top of RDF • for processing information on the web • designed to be interpreted by computers, not

for being read by people • OWL is written in XML

Page 3: Dr. Alexandra I. Cristea acristea/ OWL

3

Why OWL?• OWL is a part of the "Semantic Web Vision" - a

future where:– Web information has exact meaning – Web information can be processed by computers – Computers can integrate information from the web

• OWL was designed to – provide a common way to process the content of web

information (instead of displaying it).– be read by computer applications (instead of humans).

Page 4: Dr. Alexandra I. Cristea acristea/ OWL

4

OWL is Different from RDF

• OWL , RDF similar

• but OWL – stronger language – greater machine interpretability – larger vocabulary – stronger syntax.

Page 5: Dr. Alexandra I. Cristea acristea/ OWL

5

What is an Ontology?• formal specification of a certain domain• machine manipulable model• Ontology is about the exact description of things and

their relationships and an inference mechanism for it.

• For the web, ontology is about – the exact description of web information and– relationships between web information and– reasoning with it.

• dictionary taxonomy ontology

Page 6: Dr. Alexandra I. Cristea acristea/ OWL

6

OWL Sublanguages• OWL has three sublanguages:

– OWL Lite • hierarchy + simple constraints + cardinality {0,1}

– OWL DL (includes OWL Lite) • complete, decidable (part of FOL)

• Type separations (class <> property <> individual)

• OWL DL is the subset of OWL (Full) that is optimized for reasoning and knowledge modeling

– OWL Full (includes OWL DL) • aug. meaning RDF..

• Classes - individuals

Page 7: Dr. Alexandra I. Cristea acristea/ OWL

7

OWL is Written in XML

• By using XML, OWL information can easily be exchanged between different types of computers using different types of operating system and application languages.

• Oh yes, there is a namespace:

xmlns:owl ="http://www.w3.org/2002/07/owl#"

Page 8: Dr. Alexandra I. Cristea acristea/ OWL

8

(more on) OWL

• Based on predecessors (DAML+OIL)

• A Web Language: Based on RDF(S)

• An Ontology Language: Based on logic

Page 9: Dr. Alexandra I. Cristea acristea/ OWL

9

OWL Ontologies• What’s inside an OWL ontology

– Classes + class-hierarchy– Properties (Slots) / values– Relations between classes

(inheritance, disjoints, equivalents)– Restrictions on properties (type, cardinality)– Characteristics of properties (transitive, …)– Annotations– Individuals

• Reasoning tasks: classification, consistency checking

Page 10: Dr. Alexandra I. Cristea acristea/ OWL

10

OWL Use Cases

• At least two different user groups– OWL used as data exchange language

(define interfaces of services and agents)– OWL used for terminologies or knowledge models

Page 11: Dr. Alexandra I. Cristea acristea/ OWL

11

OWL Example (Airport)• Example:

http://www.cs.man.ac.uk/~rector/Modules/CS646-2004/Labs/Thursday/Simple_University-01.owl

• Find the error in the OWL Resource: http://www.daml.org/2001/10/html/airport-ont

• Validators are:– For RDF: http://www.w3.org/RDF/Validator – For OWL: http://www.mygrid.org.uk/OWL/Validator

• Semantic web search engine: http://swoogle.umbc.edu/

Page 12: Dr. Alexandra I. Cristea acristea/ OWL

12

Scenario

• Semantic Web for Tourism/Traveling

• Goal: Find matching holiday destinations for a customer

I am looking for a comfortable destination

with beach access

Tourism Web

Page 13: Dr. Alexandra I. Cristea acristea/ OWL

13

Scenario Architecture

• A search problem: Match customer’s expectations with potential destinations

• Required: Web Service that exploits formal information about the available destinations– Accommodation (Hotels, B&B, Camping, ...)– Activities (Sightseeing, Sports, ...)

Page 14: Dr. Alexandra I. Cristea acristea/ OWL

14

Tourism Semantic Web

• Open World:– New hotels are being added– New activities are offered

• Providers publish their services dynamically

• Standard format / grounding is needed → Tourism Ontology

Page 15: Dr. Alexandra I. Cristea acristea/ OWL

15

Tourism Semantic Web

OWLMetadata

(Individuals)

OWLMetadata

(Individuals)

OWLMetadata

(Individuals)

OWLMetadata

(Individuals)

Tourism Ontology

Web Services

Destination

AccomodationActivity

Page 16: Dr. Alexandra I. Cristea acristea/ OWL

16

OWL

• Individuals (e.g., “FourSeasons”)

• Properties– ObjectProperties (references)– DatatypeProperties (simple values)

• Classes (e.g., “Hotel”)

Page 17: Dr. Alexandra I. Cristea acristea/ OWL

17

Individuals (Instances)

• Represent objects in the domain

• Specific things

• Two names could represent the same “real-world” individual

SydneysOlympicBeachBondiBeach

Sydney

Page 18: Dr. Alexandra I. Cristea acristea/ OWL

18

Example of Individuals

<Region rdf:ID="CentralCoastRegion" />

equivalent to:

<owl:Thing rdf:ID="CentralCoastRegion" />

<owl:Thing rdf:about="#CentralCoastRegion"> <rdf:type rdf:resource="#Region"/>

</owl:Thing>

Page 19: Dr. Alexandra I. Cristea acristea/ OWL

19

ObjectProperties

• Link two individuals together

• Relationships (0..n, n..m)

Sydney

BondiBeachhasPart

FourSeasonshasAccomodation

Page 20: Dr. Alexandra I. Cristea acristea/ OWL

20

Example Property

<owl:ObjectProperty rdf:ID=“hasPart"> <rdfs:domain rdf:resource="#Destination" /> <rdfs:range rdf:resource="#Beaches" />

</owl:ObjectProperty>

Page 21: Dr. Alexandra I. Cristea acristea/ OWL

21

Property Domain & Range• If a relation is:

subject_individual hasProperty object_individual

• The domain is the class of the subject individual• The range is the class of the object individual (or a

datatype if hasProperty is a Datatype Property)

DomainClass RangeClasshasProperty

hasProperty

hasProperty

Page 22: Dr. Alexandra I. Cristea acristea/ OWL

22

Properties, Range and Domain• Property characteristics

– Domain: “left side of relation” (Destination)– Range: “right side” (Accomodation)

Sydney

BestWestern

FourSeasonshasAccomodation

DestinationAccomodation

hasAccomodation

Page 23: Dr. Alexandra I. Cristea acristea/ OWL

23

Domains

• Individuals can only take values of properties that have matching domain– “Only Destinations can have Accommodations”

• Domain can contain multiple classes

• Domain can be undefined:Property can be used everywhere

Page 24: Dr. Alexandra I. Cristea acristea/ OWL

24

Property Restriction: Example Cardinality<owl:Class rdf:ID="Wine"> <rdfs:subClassOf rdf:resource="&food;PotableLiquid"/>

<rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#madeFromGrape"/> <owl:minCardinality

rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction>

</rdfs:subClassOf> ... </owl:Class>

<owl:Restriction> <owl:onProperty rdf:resource="#madeFromGrape"/> <owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">1</owl:minCardinality> </owl:Restriction>

Page 25: Dr. Alexandra I. Cristea acristea/ OWL

25

OWL Extends Other Ontologies• extend existing ontology by saying things about terms in it:<owl:Class rdf:about="#Animal">

<rdfs:comment> Animals have exactly two parents, ie: If x is an animal, it has exactly 2

parents (but NOT anything that has 2 parents is an animal). </rdfs:comment> <rdfs:subClassOf> <owl:Restriction owl:cardinality="2"> <owl:onProperty rdf:resource="#hasParent"/> </owl:Restriction> </rdfs:subClassOf>

</owl:Class>

• If ontology is already published, you use the full URL.<owl:Class rdf:about="http://www.sample.com/ontologies/zoo#Animal">

Page 26: Dr. Alexandra I. Cristea acristea/ OWL

26

Inverse Properties

• Represent bidirectional relationships

• Adding a value to one property also adds a value to the inverse property (!)

Sydney

BondiBeachhasPart

isPartOf

Page 27: Dr. Alexandra I. Cristea acristea/ OWL

27

Inverse Property Example

<owl:ObjectProperty rdf:ID="hasPart">

<rdf:type rdf:resource="&owl;FunctionalProperty" />

</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=“isPartOf"> <owl:inverseOf rdf:resource="#hasPart" />

</owl:ObjectProperty>

Page 28: Dr. Alexandra I. Cristea acristea/ OWL

28

Transitive Properties

• If A is related to B and B is related to C then A is also related to C

• Often used for part-of relationships

Sydney

BondiBeach

hasPart

NewSouthWales

hasPart

hasPart (derived)

Page 29: Dr. Alexandra I. Cristea acristea/ OWL

29

Transitive Property Example<owl:ObjectProperty rdf:ID="locatedIn">

<rdf:type rdf:resource="&owl;TransitiveProperty" /> <rdfs:domain rdf:resource="&owl;Thing" /> <rdfs:range rdf:resource="#Region" />

</owl:ObjectProperty>

<Region rdf:ID="SantaCruzMountainsRegion"> <locatedIn rdf:resource="#CaliforniaRegion" />

</Region>

<Region rdf:ID="CaliforniaRegion"> <locatedIn rdf:resource="#USRegion" />

</Region>

Page 30: Dr. Alexandra I. Cristea acristea/ OWL

30

Sub-properties Example<owl:ObjectProperty rdf:ID="hasWineDescriptor">

<rdfs:domain rdf:resource="#Wine" /> <rdfs:range rdf:resource="#WineDescriptor" />

</owl:ObjectProperty> <owl:ObjectProperty rdf:ID="hasColor">

<rdfs:subPropertyOf rdf:resource="#hasWineDescriptor" /> <rdfs:range rdf:resource="#WineColor" /> ...

</owl:ObjectProperty>

Page 31: Dr. Alexandra I. Cristea acristea/ OWL

31

DatatypeProperties

• Link individuals to primitive values(integers, floats, strings, Booleans etc)

• Often: AnnotationProperties without formal “meaning”

Sydney

hasSize = 4,500,000isCapital = truerdfs:comment = “Don’t miss the opera house”

Page 32: Dr. Alexandra I. Cristea acristea/ OWL

32

Classes• Sets of individuals with common

characteristics

• Individuals are instances of at least one class

City

Sydney

Beach

Cairns

BondiBeach

CurrawongBeach

Page 33: Dr. Alexandra I. Cristea acristea/ OWL

33

Examples of Classes in OWL

<owl:Class rdf:ID="Winery"/>

<owl:Class rdf:ID="Region"/>

<owl:Class rdf:ID="ConsumableThing"/>

Page 34: Dr. Alexandra I. Cristea acristea/ OWL

34

Superclass Relationships• Classes can be organized in a hierarchy

• Direct instances of subclass are also (indirect) instances of superclasses

Cairns

Sydney

Canberra

Coonabarabran

Page 35: Dr. Alexandra I. Cristea acristea/ OWL

35

Example Subclasses<owl:Class rdf:ID="PotableLiquid"> <rdfs:subClassOf rdf:resource="#ConsumableThing" /> …

</owl:Class>

<owl:Class rdf:ID="Wine"> <rdfs:subClassOf rdf:resource="&food;PotableLiquid"/> <rdfs:label xml:lang="en">wine</rdfs:label> <rdfs:label xml:lang="fr">vin</rdfs:label> ... </owl:Class>

Page 36: Dr. Alexandra I. Cristea acristea/ OWL

36

Class Relationships

• Classes can overlap arbitrarily

City

Sydney

CairnsBondiBeach

RetireeDestination

Page 37: Dr. Alexandra I. Cristea acristea/ OWL

37

Class Disjointness• All classes could potentially overlap

• In many cases we want to make sure they don’t share instances

Sydney

UrbanArea RuralArea

SydneyWoomera

CapeYork

disjointWith

City Destination

Page 38: Dr. Alexandra I. Cristea acristea/ OWL

38

Example disjoint

<owl:Class rdf:about="#Man"> <owl:disjointWith rdf:resource="#Woman"/>

</owl:Class>

only in OWL full !

Page 39: Dr. Alexandra I. Cristea acristea/ OWL

39

Class versus Individual (Instance)• Levels of representation:

– In certain contexts a class can be considered an instance of something else.

– Grape, set of all grape varietals. CabernetSauvingonGrape is an instance of this class, but could be considered a class, the set of all actual Cabernet Sauvignon grapes.

• Subclass vs. instance: easy to confuse instance-of relationship with subclass relationship! – CabernetSauvignonGrape as individual & instance of Grape,

or subclass of Grape. – But: Grape class is the set of all grape varietals, any

subclass should be a subset. – CabernetSauvignonGrape is an instance of Grape, It does

not describe a subset of Grape varietals, it is a grape varietal.

Page 40: Dr. Alexandra I. Cristea acristea/ OWL

40

Class Descriptions• Classes can be described by their

logical characteristics

• Descriptions are “anonymous classes”Things with three star accommodation

Things with sightseeing opportunities

RetireeDestination

SydneySanJose

BlueMountains

Page 41: Dr. Alexandra I. Cristea acristea/ OWL

41

Class Descriptions

• Define the “meaning” of classes

• Anonymous class expressions are used– “All national parks have campgrounds.”– “A backpackers destination is a destination

that has budget accommodation and offers sports or adventure activities.”

• Expressions mostly restrict property values (OWL Restrictions)

Page 42: Dr. Alexandra I. Cristea acristea/ OWL

42

Reasoning with Classes

• Tool support for 3 types of reasoning exists:– Consistency checking:

Can a class have any instances?

– Classification:Is A a subclass of B?

– Instance classification:Which classes does an individual belong to?

Page 43: Dr. Alexandra I. Cristea acristea/ OWL

43

Restrictions (Overview)

• Define a condition for property values– allValuesFrom– someValuesFrom– hasValue– minCardinality– maxCardinality– cardinality

• An anonymous class consisting of all individuals that fulfill the condition

Page 44: Dr. Alexandra I. Cristea acristea/ OWL

44

Cardinality Restrictions• Meaning: The property must have at least/at

most/exactly x values• is the shortcut for and• Example: A FamilyDestination is a

Destination that has at least one Accomodation and at least 2 Activities

Page 45: Dr. Alexandra I. Cristea acristea/ OWL

45

allValuesFrom Restrictions• Meaning: All values of the property must

be of a certain type

• Warning: Also individuals with no values fulfill this condition (trivial satisfaction)

• Example: Hiking is a Sport that is only possible in NationalParks

Page 46: Dr. Alexandra I. Cristea acristea/ OWL

46

Value constraints

<owl:Restriction>

<owl:onProperty rdf:resource="#hasParent" /> <owl:allValuesFrom rdf:resource="#Human" />

</owl:Restriction>

Page 47: Dr. Alexandra I. Cristea acristea/ OWL

47

someValuesFrom Restrictions• Meaning: At least one value of the property

must be of a certain type

• Others may exist as well

• Example: A NationalPark is a RuralArea that has at least one Campground and offers at least one Hiking opportunity

Page 48: Dr. Alexandra I. Cristea acristea/ OWL

48

hasValue Restrictions• Meaning: At least one of the values of

the property is a certain value

• Similar to someValuesFrom but with Individuals and primitive values

• Example: A PartOfSydney is a Destination where one of the values of the isPartOf property is Sydney

Page 49: Dr. Alexandra I. Cristea acristea/ OWL

49

Enumerated Classes• Consist of exactly the listed individuals

OneStarRating

TwoStarRatingThreeStarRating

BudgetAccomodation

Page 50: Dr. Alexandra I. Cristea acristea/ OWL

50

Example Description: Enumeration

<owl:Class> <owl:oneOf rdf:parseType="Collection"> <owl:Thing rdf:about="#Eurasia"/> <owl:Thing rdf:about="#Africa"/> <owl:Thing rdf:about="#NorthAmerica"/> <owl:Thing rdf:about="#SouthAmerica"/> <owl:Thing rdf:about="#Australia"/> <owl:Thing rdf:about="#Antarctica"/>

</owl:oneOf> </owl:Class> Not OWL Lite!

Page 51: Dr. Alexandra I. Cristea acristea/ OWL

51

Logical Class Definitions• Define classes out of other classes

– unionOf (or)– intersectionOf (and)– complementOf (not)

• Allow arbitrary nesting of class descriptions (A and (B or C) and not D)

• >>> OWL DL

Page 52: Dr. Alexandra I. Cristea acristea/ OWL

52

unionOf• The class of individuals that belong to

class A or class B (or both)

• Example: Adventure or Sports activities

Adventure Sports

Page 53: Dr. Alexandra I. Cristea acristea/ OWL

53

intersectionOf• The class of individuals that belong to

both class A and class B

• Example: A BudgetHotelDestination is a destination with accomodation that is a budget accomodation and a hotel

BudgetAccomodation

Hotel

Page 54: Dr. Alexandra I. Cristea acristea/ OWL

54

Implicit intersectionOf• When a class is defined by more than one class

description, then it consists of the intersection of the descriptions

• Example: A luxury hotel is a hotel that is also an accommodation with 3 stars

AccomodationWith3StarsHotel

LuxuryHotel

Page 55: Dr. Alexandra I. Cristea acristea/ OWL

55

complementOf• The class of all individuals that do not belong to

a certain class

• Example: A quiet destination is a destination that is not a family destination

Destination

FamilyDestination

QuietDestination (grayed)

Page 56: Dr. Alexandra I. Cristea acristea/ OWL

56

Class Conditions• Necessary Conditions:

(Primitive / partial classes)“If we know that something is a X,then it must fulfill the conditions...”

• Necessary & Sufficient Conditions:(Defined / complete classes)“If something fulfills the conditions...,then it is an X.”

Page 57: Dr. Alexandra I. Cristea acristea/ OWL

57

Class Conditions (2)

QuietDestination

NationalPark

(not everything that fulfills theseconditions is a NationalPark)

(everything that fulfills theseconditions is a QuietDestination)

Page 58: Dr. Alexandra I. Cristea acristea/ OWL

58

ClassificationNationalPark

BackpackersDestination

• A RuralArea is a Destination

• A Campground is BudgetAccomodation

• Hiking is a Sport• Therefore:

Every NationalPark is a Backpackers-Destination

(Other BackpackerDestinations)

Page 59: Dr. Alexandra I. Cristea acristea/ OWL

59

Reasoning with Property, Domain & Range<owl:ObjectProperty rdf:ID="madeFromGrape"> <rdfs:domain rdf:resource="#Wine"/> <rdfs:range rdf:resource="#WineGrape"/></owl:ObjectProperty>

<owl:Thing rdf:ID="LindemansBin65Chardonnay"> <madeFromGrape rdf:resource="#ChardonnayGrape" />

</owl:Thing>  => LindemansBin65Chardonnay is a wine

Page 60: Dr. Alexandra I. Cristea acristea/ OWL

60

Visualization with OWLViz

Page 61: Dr. Alexandra I. Cristea acristea/ OWL

61

Putting it All Together

• Ontology has been developed

• Published on a dedicated web address

• Ontology provides standard terminology

• Other ontologies can extend it

• Users can instantiate the ontology to provide instances– specific hotels– specific activities

Page 62: Dr. Alexandra I. Cristea acristea/ OWL

62

Ontology Import

• Adds all classes, properties and individuals from an external OWL ontology into your project

• Allows to create individuals, subclasses, or to further restrict imported classes

• Can be used to instantiate an ontology for the Semantic Web

Page 63: Dr. Alexandra I. Cristea acristea/ OWL

63

Tourism Semantic Web (2)

OWLMetadata

(Individuals)Tourism Ontology

Web Services

Destination

AccommodationActivity

Page 64: Dr. Alexandra I. Cristea acristea/ OWL

64

OWL File & import<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:travel="http://protege.stanford.edu/plugins/

owl/owl-library/travel.owl#" xml:base="http://protege.stanford.edu/plugins/owl/owl-

library/heli-bunjee.owl">

[. . .]</rdf:RDF>

Page 65: Dr. Alexandra I. Cristea acristea/ OWL

65

OWL File: [. . .] OWL body in RDF wrap <owl:Ontology rdf:about=""> <owl:imports rdf:resource="http://protege.stanford.edu/

plugins/owl/owl-library/travel.owl"/> </owl:Ontology>

<owl:Class rdf:ID="HeliBunjeeJumping"> <rdfs:subClassOf rdf:resource="http://protege.stanford. edu/plugins/owl/owl-library/travel.owl#BunjeeJumping"/> </owl:Class>

<HeliBunjeeJumping rdf:ID="ManicSuperBunjee">

[***]

</HeliBunjeeJumping>

Page 66: Dr. Alexandra I. Cristea acristea/ OWL

66

OWL File [***] in HeliBunjeeJumping

<travel:isPossibleIn> <rdf:Description rdf:about="http://protege.stanford.edu/plugins/owl/owl-library/travel.owl#Sydney"> <travel:hasActivity rdf:resource="#ManicSuperBunjee"/> </rdf:Description> </travel:isPossibleIn> <travel:hasContact> [ +++ ] </travel:hasContact> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Manic super bunjee now offers nerve wrecking jumps from 300 feet right out of a helicopter. Satisfaction guaranteed.</rdfs:comment>

Page 67: Dr. Alexandra I. Cristea acristea/ OWL

67

OWL File [+++] in travel:hasContact

<travel:Contact rdf:ID="MSBInc"> <travel:hasEmail rdf:datatype="http://www.w3.org/2001/XMLSchema#string">[email protected] </travel:hasEmail> <travel:hasCity rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Sydney</travel:hasCity> <travel:hasStreet rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Queen Victoria St</travel:hasStreet> <travel:hasZipCode rdf:datatype="http://www.w3.org/2001/XMLSchema#int">1240</travel:hasZipCode> </travel:Contact>

Page 68: Dr. Alexandra I. Cristea acristea/ OWL

68

OWL Lite Synopsis• RDF Schema

Features: • Class (Thing, Nothing) • rdfs:subClassOf • rdf:Property • rdfs:subPropertyOf • rdfs:domain • rdfs:range • Individual • (In)Equality: • equivalentClass • equivalentProperty • sameAs • differentFrom • AllDifferent • distinctMembers

• Property Characteristics: • ObjectProperty

• DatatypeProperty

• inverseOf

• TransitiveProperty

• SymmetricProperty

• FunctionalProperty

• InverseFunctionalProperty • Property Restrictions: • Restriction • onProperty • allValuesFrom • someValuesFrom • Restricted Cardinality: • minCardinality (only 0 or 1) • maxCardinality (only 0 or 1) • cardinality (only 0 or 1)

• Header Information: • Ontology • imports • Class Intersection: • intersectionOf • Versioning: • versionInfo • priorVersion • backwardCompatibleW

ith

• incompatibleWith • DeprecatedClass • DeprecatedProperty • Annotation

Properties: • rdfs:label • rdfs:comment • rdfs:seeAlso • rdfs:isDefinedBy • AnnotationProperty • OntologyProperty • Datatypes • xsd datatypes

Page 69: Dr. Alexandra I. Cristea acristea/ OWL

69

OWL DL + Full• Class Axioms: • oneOf, dataRange • disjointWith • equivalentClass

(applied to class expressions) • rdfs:subClassOf

(applied to class expressions) • Boolean Combinations of Class Expressions: • unionOf • complementOf • intersectionOf • Arbitrary Cardinality: • minCardinality • maxCardinality • cardinality • Filler Information: • hasValue

Page 70: Dr. Alexandra I. Cristea acristea/ OWL

70

Problems with RDFSRDFS too weak to describe resources in sufficient detail

– No localised range and domain constraints• Can’t say that the range of hasChild is person when applied to

persons and elephant when applied to elephants

– No existence/cardinality constraints• Can’t say that all instances of person have a mother that is also a

person, or that persons have exactly 2 parents

– No transitive, inverse or symmetrical properties• Can’t say that isPartOf is a transitive property, that hasPart is the

inverse of isPartOf or that touches is symmetrical

Difficult to provide reasoning support– No “native” reasoners for non-standard semantics– May be possible to reason via FO axiomatisation

Page 71: Dr. Alexandra I. Cristea acristea/ OWL

71

Web Ontology Language RequirementsDesirable features identified for Web Ontology

Language:

Extends existing Web standards – Such as XML, RDF, RDFS

• Easy to understand and use– Should be based on familiar KR idioms

• Formally specified

• Of “adequate” expressive power

• Possible to provide automated reasoning support

Page 72: Dr. Alexandra I. Cristea acristea/ OWL

72

From RDF to OWL• Two languages developed to satisfy above requirements

– OIL: developed by group of (largely) European researchers (several from EU OntoKnowledge project)

– DAML-ONT: developed by group of (largely) US researchers (in DARPA DAML programme)

• Efforts merged to produce DAML+OIL– Development was carried out by “Joint EU/US Committee on Agent

Markup Languages”

– Extends (“DL subset” of) RDF

• DAML+OIL submitted to W3C as basis for standardisation– Web-Ontology (WebOnt) Working Group formed

– WebOnt group developed OWL language based on DAML+OIL

– OWL language now a W3C Proposed Recommendation

Page 73: Dr. Alexandra I. Cristea acristea/ OWL

73

OWL Language• Three species of OWL

– OWL full is union of OWL syntax and RDF– OWL DL restricted to FOL fragment (¼ DAML+OIL)– OWL Lite is “easier to implement” subset of OWL DL

• Semantic layering– OWL DL ¼ OWL full within DL fragment– DL semantics officially definitive

• OWL DL based on SHIQ Description Logic– In fact it is equivalent to SHOIN(Dn) DL

• OWL DL Benefits from many years of DL research– Well defined semantics– Formal properties well understood (complexity, decidability)– Known reasoning algorithms– Implemented systems (highly optimised)

Page 74: Dr. Alexandra I. Cristea acristea/ OWL

74

OWL built-in classes

• owl:FunctionalProperty, owl:InverseFunctionalProperty, owl:SymmetricProperty, owl:TransitiveProperty, owl:DeprecatedClass, owl:DeprecatedProperty

Page 75: Dr. Alexandra I. Cristea acristea/ OWL

75

OWL built in properties• owl:equivalentClass, owl:disjointWith,

owl:equivalentProperty, owl:inverseOf, owl:sameAs, owl:differentFrom, owl:complementOf, owl:unionOf, owl:intersectionOf, owl:oneOf, owl:allValuesFrom, owl:onProperty, owl:someValuesFrom, owl:hasValue, owl:minCardinality, owl:maxCardinality, owl:cardinality, owl:distinctMembers

• annotation properties: owl:versionInfo, rdfs:label, rdfs:comment, rdfs:seeAlso, rdfs:isDefinedBy

• ontology properties: owl:imports, owl:priorVersion, owl:backwardCompatibleWith, owl:incompatibleWith

Page 76: Dr. Alexandra I. Cristea acristea/ OWL

76

OWL Class Constructors

• XMLS datatypes as well as classes in

• Arbitrarily complex nesting of constructors

Page 77: Dr. Alexandra I. Cristea acristea/ OWL

77

OWL Syntax

<owl:Class> <owl:intersectionOf rdf:parseType="collection"> <owl:Class rdf:about="#Person"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasChild"/> <owl:allValuesFrom> <owl:unionOf rdf:parseType="collection"> <owl:Class rdf:about="#Doctor"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasChild"/> <owl:hasClass rdf:resource="#Doctor"/> </owl:Restriction> </owl:unionOf> </owl:allValuesFrom> </owl:Restriction> </owl:intersectionOf></owl:Class>

E.g., Person hasChild.(Doctor hasChild.Doctor):

Page 78: Dr. Alexandra I. Cristea acristea/ OWL

78

OWL Axioms

Page 79: Dr. Alexandra I. Cristea acristea/ OWL

79

XML Schema Datatypes in OWL

• OWL supports XML Schema primitive datatypes– E.g., integer, real, string, …

• Strict separation between “object” classes and datatypes– Disjoint interpretation domain for datatypes

– Disjoint “object” and datatype properties

Page 80: Dr. Alexandra I. Cristea acristea/ OWL

80

Why Separate Classes and Datatypes?• Philosophical reasons:

– Datatypes structured by built-in predicates

– Not appropriate to form new datatypes using ontology language

• Practical reasons:– Ontology language remains simple and compact

– Semantic integrity of ontology language not compromised

– Implementability not compromised — can use hybrid reasoner

Page 81: Dr. Alexandra I. Cristea acristea/ OWL

81

OWL query language: OWL-QL

• OWL Query Language (OWL-QL) is an updated version of the DAML Query Language (DQL).

• It is intended to be a candidate standard language and protocol for query-answering dialogues among Semantic Web computational agents.

Page 82: Dr. Alexandra I. Cristea acristea/ OWL

82

OWL Conclusion

• We have learned:– OWL definition– OWL comparison with RDF– OWL classes and properties– Usage scenarios