owl full semantics
DESCRIPTION
2008 09-06 owl fullTRANSCRIPT
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
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
A Layer Cake of Languages
OWL2OWL2
OWLOWL
(RDFS Plus)
RDF(S)
You
Are
Here
3
Not Covered in the Talk
• Datatype
• Annotation
• Ontology house keeping (e.g., imports)
• OWL comprehension conditions• OWL comprehension conditions
4
Outline
• Review of RDF Semantics
• OWL Overview
• RDFS 3.0 Semantics
• OWL Full Universe• OWL Full Universe
• OWL Full Interpretation Conditions
5
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
RDFS Interpretation
V
ISICEXT
vocabulary
extension of classes
IP
IRIEXT
IR x IR
IC
ICEXT
rdfs:Class
rdfs:Resource
rdf:Property
extension of properties7
Outline
• Review of RDF Semantics
• OWL Overview
• RDFS Plus Semantics
• OWL Full Universe• OWL Full Universe
• OWL Full Interpretation Conditions
8
OWL Family
OWL FullOWL Full
OWL DL(SHOIN(D))(SHOIN(D))
OWL Lite(SHIF(D))
RDFS Plus (or RDFS 3.0)
9
From RDF to OWL 2 Full
RDFS+
OWL 2 Full Covered next time
RDF
RDFS
RDFS+
OWL FullOWL 2 RL
10
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
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
Outline
• Review of RDF Semantics
• OWL Overview
• RDFS Plus Semantics
• OWL Full Universe• OWL Full Universe
• OWL Full Interpretation Conditions
13
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
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
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
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
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
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
Outline
• Review of RDF Semantics
• OWL Overview
• RDFS Plus Semantics
• OWL Full Universe• OWL Full Universe
• OWL Full Interpretation Conditions
20
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
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
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
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
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
Outline
• Review of RDF Semantics
• OWL Overview
• RDFS Plus Semantics
• OWL Full Universe• OWL Full Universe
• OWL Full Interpretation Conditions
26
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
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
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
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
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
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
BackupBackup
33
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
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
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
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
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
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
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
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