owl full semantics

41
OWL Full Semantics -- RDF-Compatible Model-Theoretic Semantics by Peter F. Patel-Schneider, Patrick Hayes and Ian Horrocks W3C Recommendation, 2004 http://www.w3.org/TR/owl-semantics/rdfs.html http://www.w3.org/TR/owl-semantics/rdfs.html Presented by Jie Bao RPI Sept 11, 2008 Part 2 of RDF/OWL Semantics Tutorial http://tw.rpi.edu/wiki/index.php/RDF_and_OWL_Semantics

Upload: jie-bao

Post on 08-May-2015

1.802 views

Category:

Technology


0 download

DESCRIPTION

2008 09-06 owl full

TRANSCRIPT

Page 1: OWL Full Semantics

OWL Full Semantics-- RDF-Compatible Model-Theoretic Semantics

by Peter F. Patel-Schneider, Patrick Hayes and Ian Horrocks

W3C Recommendation, 2004

http://www.w3.org/TR/owl-semantics/rdfs.htmlhttp://www.w3.org/TR/owl-semantics/rdfs.html

Presented by Jie Bao

RPI

Sept 11, 2008

Part 2 of RDF/OWL Semantics Tutorial

http://tw.rpi.edu/wiki/index.php/RDF_and_OWL_Semantics

Page 2: OWL Full Semantics

Disclaimer

• The semantics and inference rules about RDFS

Plus /RDFS 3.0 are rolely Jie Bao’s own and do

not reflect the positions of either W3C (or any

of its working group) or any of the RDFS Plus of its working group) or any of the RDFS Plus

/RDF 3.0 proposals (citation on the page RDFS

Plus: a Rule Subset of OWL ).

2

Page 3: OWL Full Semantics

A Layer Cake of Languages

OWL2OWL2

OWLOWL

(RDFS Plus)

RDF(S)

You

Are

Here

3

Page 4: OWL Full Semantics

Not Covered in the Talk

• Datatype

• Annotation

• Ontology house keeping (e.g., imports)

• OWL comprehension conditions• OWL comprehension conditions

4

Page 5: OWL Full Semantics

Outline

• Review of RDF Semantics

• OWL Overview

• RDFS 3.0 Semantics

• OWL Full Universe• OWL Full Universe

• OWL Full Interpretation Conditions

5

Page 6: OWL Full Semantics

RDF(S) Vocabulary

RDF RDFS

rdf:type

rdf:Property

rdfs:domain

rdfs:range

rdfs:Resource rdfs:Resource

rdfs:Class

rdfs:subClassOf

rdfs:subPropertyOf

… others (rectification, annotation, literal,

collection, container)

6

Page 7: OWL Full Semantics

RDFS Interpretation

V

ISICEXT

vocabulary

extension of classes

IP

IRIEXT

IR x IR

IC

ICEXT

rdfs:Class

rdfs:Resource

rdf:Property

extension of properties7

Page 8: OWL Full Semantics

Outline

• Review of RDF Semantics

• OWL Overview

• RDFS Plus Semantics

• OWL Full Universe• OWL Full Universe

• OWL Full Interpretation Conditions

8

Page 9: OWL Full Semantics

OWL Family

OWL FullOWL Full

OWL DL(SHOIN(D))(SHOIN(D))

OWL Lite(SHIF(D))

RDFS Plus (or RDFS 3.0)

9

Page 10: OWL Full Semantics

From RDF to OWL 2 Full

RDFS+

OWL 2 Full Covered next time

RDF

RDFS

RDFS+

OWL FullOWL 2 RL

10

Page 11: OWL Full Semantics

OWL Extensions to RDFS

• Constructing classes:

– e.g., ∀∃ ∧ ∨ ¬• Constructing properties:

– e.g., inverseOf– e.g., inverseOf

• Property characteristics:

– e.g., transitive, functional, symmetric

• Mapping

– Equality, non-equality (between classes, properties, ind.)

11

Page 12: OWL Full Semantics

Direct MT Sem. vs RDF MT Sem.

• Direct Model-Theoretical Semantics

– For OWL DL (thus also OWL Lite)

– Simpler than the RDF MT Semantics

– Corresponds to the semantics of DL SHOIN(D)– Corresponds to the semantics of DL SHOIN(D)

– Decidability guaranteed

• RDF-Compatible Model-Theoretical Semantics

– For OWL Full (thus also OWL DL and OWL Lite)

– Extends RDFS Semantics

12

Page 13: OWL Full Semantics

Outline

• Review of RDF Semantics

• OWL Overview

• RDFS Plus Semantics

• OWL Full Universe• OWL Full Universe

• OWL Full Interpretation Conditions

13

Page 14: OWL Full Semantics

RDFS Plus: a Rule Subset of OWL

Design intuition: Scalable, easier to implement

using rule inference

• RDFS Plus / OWL Prime / RDFS 3.0• RDFS Plus / OWL Prime / RDFS 3.0– Dean Allemang, James Hendler. Semantic Web for the Working

Ontologist, Chapter 7

– Oracle: OWL Prime http://www.w3.org/2007/OWL/wiki/OracleOwlPrime

• Related proposals– AllegroGraph RDFS++:

http://agraph.franz.com/support/learning/Overview-of-RDFS++.lhtml

– OWL 2 RL http://www.w3.org/2007/OWL/wiki/Profiles#OWL_2_RL

14

Page 15: OWL Full Semantics

RDFS Plus Vocabulary

Equality Property Characteristics

owl:equivalentClass,

owl:equivalentProperty,

owl:sameAs

owl:inverseOf

owl:TransitiveProperty,

owl:SymmetricProperty,

owl:FuncionalProperty, owl:FuncionalProperty,

owl:InverseFunctionalProperty

owl:ObjectProperty,

owl:DatatypeProperty

+ RDFS vocabulary

15

Page 16: OWL Full Semantics

RDFS Plus Semantics

If E is then

owl:ObjectPropertyIS(E) ∈IC and IEXT (IS (E))=IOOP

⊆IEXT(IP)

owl:DatatypePropertyIS(E) ∈IC and IEXT (IS (E))=IODP

⊆owl:DatatypeProperty

IS(E) ∈IC and IEXT (IS (E))=IODP

⊆IEXT(IP)

If E is then <x,y>∈∈∈∈IEXT (IS (E)) iff

owl:equivalentClass x,y∈IC and ICEXT(x)=ICEXT(y)

owl:equivalentProperty x,y∈IOOP∪IODP and IEXT (x) = IEXT (y)

owl:sameAs x = y

16

Page 17: OWL Full Semantics

RDFS Plus Semantics

If E is then c∈∈∈∈ICEXT (IS (E)) iff

owl:TransitiveProperty<x,y>, <y,z>∈∈∈∈IEXT (c) implies <x,z>∈∈∈∈IEXT (c)

and c ∈IOOP

owl:SymmetricProperty<x,y> ∈∈∈∈ IEXT (c) implies <y, x>∈∈∈∈IEXT (c)

and c ∈IOOP

∈∈∈∈ ∈∈∈∈

and c ∈IOOP

owl:FuncionalProperty<x,y1>, <x,y2> ∈∈∈∈ IEXT (c) implies y1 = y2

and c∈IOOP ∪ IODP

owl:InverseFunctionalProperty<x1,y>, <x2,y>∈∈∈∈IEXT (c) implies x1 = x2

and c∈IOOP

If E is then <x,y>∈∈∈∈IEXT (IS(E)) iff

owl:inverseOf x,y∈IOOP and <u,v>∈∈∈∈IEXT (x) iff <v,u>∈∈∈∈IEXT (y)

17

Page 18: OWL Full Semantics

RDFS Plus Semantics

Extensional Semantic Conditions

<c,d> ∈ IEXT(IS(rdfs:subClassOf)) c, d ∈ IC,

ICEXT(c) ⊆ ICEXT(d)

<p,q> ∈ IEXT(IS(rdfs:subPropertyOf)) p, q ∈ IP,

⊆Iff*

<p,q> ∈ IEXT(IS(rdfs:subPropertyOf)) p, q ∈ IP,

IEXT(p) ⊆ IEXT(q)

<p,c> ∈ IEXT(IS(rdfs:domain)) p ∈ IP, c ∈ IC,

<x,y> ∈ IEXT(p) → x ∈ ICEXT(c)

<p,c> ∈ IEXT(IS(rdfs:range)) p ∈ IP, c ∈ IC,

<x,y> ∈ IEXT(p) → y ∈ ICEXT(c)

* By default, RDFS uses “only if”, OWL 1 Full and OWL 2 Full uses “iff”

18

Page 19: OWL Full Semantics

Inference Rules

If then

(?x, owl:sameAs, ?y) (?y, owl:sameAs, ?x)

(?c1, owl:equivalentClass, ?c2)

(?x, rdf:type, ?c ) (?x, rdf:type, ?c2)

Some examples:

Complete rule set is in backup slides

(?x, rdf:type, ?c1) (?x, rdf:type, ?c2)

(?p, rdf:type, owl:FunctionalProperty)

(?x, ?p, ?y1) T(?x, ?p, ?y2) (?y1, owl:sameAs, ?y2)

(?p1, owl:inverseOf, ?p2) (?x, ?p1, ?y) (?y, ?p2, ?x)

(?p, rdfs:domain, ?c) (?x, ?p, ?y) (?x, rdf:type, ?c)

19

Page 20: OWL Full Semantics

Outline

• Review of RDF Semantics

• OWL Overview

• RDFS Plus Semantics

• OWL Full Universe• OWL Full Universe

• OWL Full Interpretation Conditions

20

Page 21: OWL Full Semantics

OWL VocabularyClasses Class Construction

owl:Class

owl:Thing

owl:Nothing

owl:complementOf

owl:intersectionOf

owl:unionOf

Bo

ole

an

owl:Restriction

owl:onPropertyowl:allValuesFrom

qu

alifica

tion

owl:onPropertyowl:allValuesFrom

owl:someValuesFrom

owl:hasValue

qu

alifica

tionNon-equality

owl:differentFrom

owl:disjointWith

owl:AllDifferent

owl:distinctMembers

owl:cardinality

owl:minCardinality

owl:maxCardinality

card

ina

lity

owl:oneOf

+ RDFS Plus vocabulary21

Page 22: OWL Full Semantics

Recall: RDFS Interpretation

V

ISICEXT

vocabulary

extension of classes

IP

IRIEXT

IR x IR

IC

ICEXT

rdfs:Class

rdfs:Resource

rdf:Property

extension of properties22

Page 23: OWL Full Semantics

OWL Full Interpretation

V

ISICEXT

vocabulary

extension of classes

IP

IRIEXT

IR x IR

IC

ICEXT

rdfs:Class=owl:Class

rdfs:Resource=owl:Thing

rdf:Property ={owl:ObjectProperty, owl:DatatypeProperty, owl:AnnotationProperty, owl:OntologyProperty}

extension of properties23

Page 24: OWL Full Semantics

OWL Full vs OWL DL

OWL-DL OWL Full

Relation to

RDFS universe

owl:Thing <=rdfs:Resource

owl:Class <= rdfs:Class

P <= rdf:Property

owl:Thing = rdfs:Resource

owl:Class = rdfs:Class

P = rdf:Property

Pairwise

Disjointness

Yes No

Disjointness

Decidability Yes No

P is the union of owl:ObjectProperty, owl:DatatypeProperty, owl:AnnotationProperty, and owl:OntologyProperty

Note: in OWL Full, an element can be an individual (owl:Thing element), a class (owl:Class element) and an property (P element) at the same time.

24

Page 25: OWL Full Semantics

True or False?

In OWL Full

• owl:Thing rdfs:subClassOf owl:Class

• owl:Class rdfs:subClassOf owl:Thing

• owl:Thing rdf:type owl:Class

• owl:Class rdf:type owl:Class• owl:Class rdf:type owl:Class

• rdf:Property rdf:type owl:Class

Refer: • OWL RDF Schema: http://www.w3.org/2002/07/owl

• Thing and Class: http://ontolog.cim3.net/forum/ontolog-forum/2008-

09/threads.html#00004

25

Page 26: OWL Full Semantics

Outline

• Review of RDF Semantics

• OWL Overview

• RDFS Plus Semantics

• OWL Full Universe• OWL Full Universe

• OWL Full Interpretation Conditions

26

Page 27: OWL Full Semantics

OWL Classes and Properties

If E isthen

IS (E)∈∈∈∈ ICEXT(IS (E))= and

owl:Class IC IOC IOC=IC

owl:Thing IOC IOT IOT=IR and IOT ≠ ∅

owl:Nothing IOC {}owl:Nothing IOC {}

If E is then if e∈∈∈∈ICEXT(IS

(E)) then Note

owl:Class ICEXT (e)⊆IOTInstances of OWL classes are OWL

individuals.

owl:ObjectProperty IEXT (e)⊆IOT×IOTValues for individual-valued

properties are OWL individuals.

27

Page 28: OWL Full Semantics

Boolean Operations and Enumeration

If E is then <x,y>∈∈∈∈IEXT(IS (E)) iff

owl:complementOf x,y∈ IOC and ICEXT(x)=IOT-ICEXT(y)

owl:unionOfx∈IOC and y is a sequence of y1,…yn over IOC

and ICEXT(x) = ICEXT(y1) ∪…∪ ICEXT(yn)

owl:intersectionOfx∈IOC and y is a sequence of y1,…yn over IOC

owl:intersectionOfx∈IOC and y is a sequence of y1,…yn over IOC

and ICEXT(x) = ICEXT(y1) ∩…∩ ICEXT(yn)

owl:oneOfx∈IC and y is a sequence of y1,…yn over IOT or

over ILV and ICEXT(x) = {y1,..., yn}

If E is and then if <x,l>∈∈∈∈IEXT(IS (E)) then

owl:oneOfl is a sequence of y1,…yn

over IOTx∈IOC

28

Page 29: OWL Full Semantics

Restriction (Anonymous Class)

If E isthen

IS(E)∈ ICEXT(IS(E))= and

owl:Restriction IC IOR IOR⊆IOC

If E is and

<x,y>∈∈∈∈IEXT(IS(E))) ∧∧∧∧

<x,p>∈∈∈∈IEXT(IS(owl:onProperty)))

then x∈∈∈∈IOR, y∈∈∈∈IOC, p∈∈∈∈IOOP, and ICEXT(x) =

owl:allValuesFrom {u∈IOT | <u,v>∈IEXT(p) implies v∈ICEXT(y) }owl:allValuesFrom {u∈IOT | <u,v>∈IEXT(p) implies v∈ICEXT(y) }

owl:someValuesFrom {u∈IOT | ∃ <u,v>∈IEXT(p) such that v∈ICEXT(y) }

then x∈∈∈∈IOR, y∈∈∈∈IOT, p∈∈∈∈IOOP, and ICEXT(x) =

owl:hasValue {u∈IOT | <u, y>∈IEXT(p) }

then x∈∈∈∈IOR, y is a non-negative integer, p∈∈∈∈IOOP,

and ICEXT(x) =

owl:minCardinality {u∈IOT | card({v ∈ IOT : <u,v>∈IEXT(p)}) ≥ y }

owl:maxCardinality, owl:cardinality defined similarly

Note: Content on this page is simplified by omitting datatype properties

29

Page 30: OWL Full Semantics

Non-equality

If E is then <x,y>∈∈∈∈IEXT (IS(E)) iff

owl:disjointWith x,y∈IOC and ICEXT(x)∩ICEXT(y)={}

owl:differentFrom x ≠ y

More: Comprehension conditions (which require the existence of More: Comprehension conditions (which require the existence of appropriate OWL descriptions and data ranges ) – not covered

30

Page 31: OWL Full Semantics

Conclusions

RDFS Plus

• A scalable rule subset of OWL Full, with MT semantics

• Equality + Property Characteristics

• Has extensional semantic conditions (while RDFS has not)

OWL Full

• Extends RDFS Plus, with MT semantics

• OWL Full universe = RDFS universe

– rdfs:Class = owl:Class ; rdfs:Resource = owl:Thing; owl:ObjectProperty <=

rdf:Property

• No distinction between classes, properties and individuals

Next talk: OWL 2Full

31

Page 32: OWL Full Semantics

Further Reading

• Ian Horrocks, Peter F. Patel-Schneider, Frank van Harmelen - From SHIQ

and RDF to OWL: the making of a Web Ontology Language. In J. Web

Sem. 1(1):7-26, 2003.(URL)

• Turner, David; Carroll, Jeremy J. Comparing OWL Semantics. Technical

Reports HPL-2007-146. HP Lab, 2007. (URL)

32

Page 33: OWL Full Semantics

BackupBackup

33

Page 34: OWL Full Semantics

Other OWL Vocabulary

• owl:DatatypeProperty, owl:DataRange

• owl:Ontology

• owl:imports, owl:priorVersion, owl:backwardCompatibleWith,

and owl:incompatibleWith, owl:versionInfo

• owl:OntologyProperty• owl:OntologyProperty

• owl:DeprecatedClass, owl:DeprecatedProperty

• owl:AnnotationProperty

34

Page 35: OWL Full Semantics

Exercise

• Prove tautology in RDFS:

– rdfs:subPropertyOf rdfs:subPropertyOf rdfs:subPropertyOf

– rdfs:domain rdfs:domain rdf:Property

– rdfs:doman rdfs:range rdf:Class–– rdf:Property rdf:type rdfs:Class

• Prove tautology in OWL Full:

– owl:sameAs owl:sameAs owl:sameAs

35

Page 36: OWL Full Semantics

RDFS Plus Rules (1)

If then

(?s, ?p, ?o)

(?s, owl:sameAs, ?s)

(?p, owl:sameAs, ?p)

(?o, owl:sameAs, ?o)

(?x, owl:sameAs, ?y) (?y, owl:sameAs, ?x)

d

(?x, owl:sameAs, ?y) (?y, owl:sameAs, ?x)

(?x, owl:sameAs, ?y)

(?y, owl:sameAs, ?z) (?x, owl:sameAs, ?z)

(?s, owl:sameAs, ?s‘) (?s, ?p, ?o) (?s', ?p, ?o)

(?p, owl:sameAs, ?p‘) (?s, ?p, ?o) (?s, ?p', ?o)

(?o, owl:sameAs, ?o‘) (?s, ?p, ?o) (?s, ?p, ?o')

Equality rules

36

Page 37: OWL Full Semantics

RDFS Plus Rules (2)

If then

(?c1, owl:equivalentClass, ?c2)

(?x, rdf:type, ?c1) (?x, rdf:type, ?c2)

(?c1, owl:equivalentClass, ?c2)

(?x, rdf:type, ?c2) (?x, rdf:type, ?c1)

(?c1, owl:equivalentClass, ?c2) (?c1, rdfs:subClassOf, ?c2)

(?c2, rdfs:subClassOf, ?c1)

(?p1, owl:equivalentProperty, ?p2) (?p1, rdfs:subPropertyOf, ?p2)

(?p2, rdfs:subPropertyOf, ?p1)

(?p1, owl:equivalentProperty, ?p2)

(?x, ?p1, ?y) (?x, ?p2, ?y)

(?p1, owl:equivalentProperty, ?p2)

(?x, ?p2, ?y) (?x, ?p1, ?y)

Equality rules 37

Page 38: OWL Full Semantics

RDFS Plus Rules (3)If then

(?p, rdf:type, owl:FunctionalProperty)

(?x, ?p, ?y1) T(?x, ?p, ?y2) (?y1, owl:sameAs, ?y2)

(?p, rdf:type, owl:InverseFunctionalProperty)

(?x1, ?p, ?y) T(?x2, ?p, ?y) (?x1, owl:sameAs, ?x2)

(?p, rdf:type, owl:SymmetricProperty)(?p, rdf:type, owl:SymmetricProperty)

(?x, ?p, ?y) (?y, ?p, ?x)

(?p, rdf:type, owl:TransitiveProperty)

(?x, ?p, ?y) (?y, ?p, ?z) (?x, ?p, ?z)

(?p1, owl:inverseOf, ?p2) (?x, ?p1, ?y) (?y, ?p2, ?x)

(?p1, owl:inverseOf, ?p2) (?x, ?p2, ?y) (?y, ?p1, ?x)

Property characteristic rules

38

Page 39: OWL Full Semantics

RDFS Plus Rules (4)

If then

(?c, rdf:type, owl:Class) (?c, rdfs:subClassOf, ?c)

(?c, owl:equivalentClasses, ?c)

(?p, rdf:type, owl:ObjectProperty) (?p, rdfs:subPropertyOf, ?p)

(?p, rdf:type, owl:ObjectProperty) (?p, rdfs:subPropertyOf, ?p)

(?p, owl:equivalentProperty, ?p)

(?p, rdf:type, owl:DatatypeProperty) (?p, rdfs:subPropertyOf, ?p)

(?p, owl:equivalentProperty, ?p)

OWL Class and Property Declaration

39

Page 40: OWL Full Semantics

RDFS Plus Rules (5)

If then

(?x, ?p, ?y)

(?p, rdf:type rdf:Property)

(?x, rdf:type rdfs:Resource)

(?y, rdf:type rdfs:Resource)

(?p, rdf:type rdf:Property) (?p, rdfs:subPropertyOf ?p)

(?c, rdf:type rdfs:Class) (?c, rdfs:subClassOf rdfs:Resource)

(?c, rdfs:subClassOf ?c)

(?p1, rdfs:subPropertyOf, ?p2) (?x, ?p1, ?y) (?x, ?p2, ?y)

(?c1, rdfs:subClassOf, ?c2) (?x, rdf:type, ?c1) (?x, rdf:type, ?c2)

(?c1, rdfs:subClassOf, ?c2) (?c2,

rdfs:subClassOf, ?c3) (?c1, rdfs:subClassOf, ?c3)

(?p1, rdfs:subPropertyOf, ?p2) (?p2,

rdfs:subPropertyOf, ?p3) (?p1, rdfs:subPropertyOf, ?p3)

RDFS Rules40

Page 41: OWL Full Semantics

RDFS Plus Rules (6)

If then

(?p, rdfs:domain, ?c) (?x, ?p, ?y) (?x, rdf:type, ?c)

(?p, rdfs:range, ?c) (?x, ?p, ?y) (?y, rdf:type, ?c)

Rules due to Extensional Semantic Conditions

(?p, rdfs:domain, ?c1) (?c1, rdfs:subClassOf, ?c2) (?p, rdfs:domain, ?c2) (?p, rdfs:domain, ?c1) (?c1, rdfs:subClassOf, ?c2) (?p, rdfs:domain, ?c2)

(?p2, rdfs:domain, ?c) (?p1, rdfs:subPropertyOf, ?p2) (?p1, rdfs:domain, ?c)

(?p, rdfs:range, ?c1) (?c1, rdfs:subClassOf, ?c2) (?p, rdfs:range, ?c2)

(?p2, rdfs:range, ?c) (?p1, rdfs:subPropertyOf, ?p2) (?p1, rdfs:range, ?c)

RDFS Rules (domain & range)

41