Page 1
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
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
A Layer Cake of Languages
OWL2OWL2
OWLOWL
(RDFS Plus)
RDF(S)
You
Are
Here
3
Page 4
Not Covered in the Talk
• Datatype
• Annotation
• Ontology house keeping (e.g., imports)
• OWL comprehension conditions• OWL comprehension conditions
4
Page 5
Outline
• Review of RDF Semantics
• OWL Overview
• RDFS 3.0 Semantics
• OWL Full Universe• OWL Full Universe
• OWL Full Interpretation Conditions
5
Page 6
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
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
Outline
• Review of RDF Semantics
• OWL Overview
• RDFS Plus Semantics
• OWL Full Universe• OWL Full Universe
• OWL Full Interpretation Conditions
8
Page 9
OWL Family
OWL FullOWL Full
OWL DL(SHOIN(D))(SHOIN(D))
OWL Lite(SHIF(D))
RDFS Plus (or RDFS 3.0)
9
Page 10
From RDF to OWL 2 Full
RDFS+
OWL 2 Full Covered next time
RDF
RDFS
RDFS+
OWL FullOWL 2 RL
10
Page 11
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
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
Outline
• Review of RDF Semantics
• OWL Overview
• RDFS Plus Semantics
• OWL Full Universe• OWL Full Universe
• OWL Full Interpretation Conditions
13
Page 14
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
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
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
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
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
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
Outline
• Review of RDF Semantics
• OWL Overview
• RDFS Plus Semantics
• OWL Full Universe• OWL Full Universe
• OWL Full Interpretation Conditions
20
Page 21
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
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 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 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
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
Outline
• Review of RDF Semantics
• OWL Overview
• RDFS Plus Semantics
• OWL Full Universe• OWL Full Universe
• OWL Full Interpretation Conditions
26
Page 27
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
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
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
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
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
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 34
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
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
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
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
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
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
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
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