Abstract
A Web Ontology Language has to have a number of formal pieces, all
working together in an effective manner.
Syntax for First-Order Logic
- names
- p - a collection of names for predicates
- v - a collection of names for variables
- atomic formulae
- formulae
- <a>
- (not <f>)
- (and <f> <f>)
- (exists <v> <f>
- statements - formulae with no free variables
Proof Theory for First-Order Logic
Model Theory for First-Order Logic
- interpretations
- D - collection of objects - the domain
- I - mapping from p to sets of sequences of objects
- extended interpretations - add
- A - mapping from variables to objects
- an extension of the base interpretation
- an extended interpretation I models a formula
- [p v1 ... vn] - if < A(v1), ... , A(vn) > in I(p)
- (not f) - if I does not model f
- (and f1 f2) - if I models both f1 and f2
- (exists v f) - if there is some extended interpretation just like
I except for its mapping of v that models f
Model Theory for First-Order Logic
- an intepretation models a sentence if there is some extended
interpretation that models the sentence
- a sentence entails another if all models of the first are also models
of the second
Set Theory
- domain of objects, includes sets of objects
- element-of predicate
- a set consists of the objects that satisfy a predicate
- but what about { x : x not element of x }
Liar's paradox
- domain of objects, includes objects that represent formulae
- special predicate, truth
- true of an object that represents a formula iff that formula
is true
- what about ``This sentence is false''
Datatypes
- collection of datatypes, DT
- a datatype is
- U(d), URI for the datatype
- L(d), the lexical space for the datatype
- V(d), the value space for the datatype
- LV(d) : L(d) -> V(d), the lexical-to-value mapping for the
datatype
- let
- L = union over d in DT of L(d), lexical values
- V = union over d in DT of V(d), data values
- LV = union over d in DT of LV(d)
Syntax
- An OWL-1 Knowledge base is given in the XML XQuery 1.0 data model
- a collection of trees, consisting of nodes
- element nodes
- attribute nodes
- text nodes
- types for element and attribute nodes from XML Schema
- mapping, Q, that expands qnames
OWL-2 Interpretations
- R, nonempty, disjoint from V, the the domain of resources
- EXT : N -> 2^(Rx(RuV)), property extensions
- CEXT : N -> 2^(RuV), class extensions
- S : N -> R, mapping from URIs to denotation
- A : K -> R u V, mapping from nodes to denotation
- conditions
- CEXT(rdfs:Resource) = R
- CEXT(rdfs:Literal) = V
- d in DT CEXT(U(d)) = Vd
- CEXT(swol:Thing) = R
- CEXT(swol:Nothing) = {}
OWL-2 Satisfaction of Class Definitions
- ELEMENT(swol:defineClass,{},<id,desc>)
- ELEMENT(swol:definePrimitiveClass,{},<id,desc>)
- ELEMENT(swol:disjointWith,{},<id1,id2>)
- CEXT(Q(id1)) ^ CEXT(Q(id2)) = {}
OWL-2 Satisfaction of Property Definitions
- ELEMENT(swol:samePropertyAs,{},<id1,id2>)
- EXT(Q(id1)) = EXT(Q(id2))
- ELEMENT(swol:subPropertyOf,{},<id1,id2>)
- EXT(Q(id1)) <= EXT(Q(id2))
- ELEMENT(swol:domain,{},<id,desc>)
- EXT(Q(id)) <= ID(desc) x (RuV)
- ELEMENT(swol:range,{},<id,desc>)
- EXT(Q(id)) <= R x IC(desc)
OWL-2 Satisfaction of Property Definitions
- ELEMENT(swol:ObjectProperty,{},<id>)
- ELEMENT(swol:DatatypeProperty,{},<id>)
- ELEMENT(swol:UniqueProperty,{},<id>)
- ELEMENT(swol:UnambiguousProperty,{},<id>)
- converse of EXT(Q(id)) is functional
- ELEMENT(swol:TransitiveProperty,{},<id>)
OWL-2 Satisfaction of Object Definitions
- ELEMENT(swol:sameIndividualAs,{},<id1,id2>)
- S(Q(id1)) in R S(Q(id2)) in R S(Q(id1)) = S(Q(id2))
- ELEMENT(swol:differentIndividualFrom,{},<id1,id2>)
- S(Q(id1)) in R S(Q(id2)) in R S(Q(id1)) /= S(Q(id2))
OWL-2 Satisfaction of RDF-like Statements
resourceElement
- ELEMENT(name,{propertyAttribute*},{propertyElement*})
- A(|self|) in CEXT(S(name))
OWL-2 Satisfaction of RDF-like Statements
propertyAttribute
- ATTRIBUTE(rdf:ID,id)
- ATTRIBUTE(rdf:about,id)
- ATTRIBUTE(name,text,type,value)
- < A(|parent|) , A(|self|) > in EXT(S(name))
- A(|self|) = value
- ATTRIBUTE(name,text)
- < A(|parent|) , A(|self|) > in EXT(S(name))
- A(|self|) in LV(text)
OWL-2 Satisfaction of RDF-like Statements
propertyElement
- ELEMENT(rdf:type,{},{desc})
- ELEMENT(name,{rdf:resource,id},{})
- < A(|parent|),S(Q(id)) > in IR(name)
- ELEMENT(name,{},{resourceElement})
- < A(|parent|),S(resourceElement) > in IR(name)
- ELEMENT(name,{},{valueNode=TEXT(text)},type,value)
- < A(|parent|),A(valueNode) > in IR(name)
A(valueNode) = value
- ELEMENT(name,{},{valueNode=TEXT(text)})
- < A(|parent|),A(valueNode) > in IR(name)
A(valueNode) in LV(text)
OWL-2 Extensions for descriptions (ID)
- ELEMENT(id)
- ELEMENT(swol:unionOf,{desc+})
- ID(desc1) v ... v ID(descn)
- ELEMENT(swol:intersectionOf,{desc+})
- ID(desc1) ^ ... ^ ID(descn)
- ELEMENT(swol:complementOf,{desc})
- ELEMENT(swol:oneOf,{id*})
- { S(Q(id1)), ..., S(Q(id1n)) }
OWL-2 Extensions for descriptions (ID)
- ELEMENT(swol:toClass,{},<prop,class>)
- { x : <x,y> in EXT(prop) implies y in IC(class) }
- ELEMENT(swol:hasValue,{},<prop,id>)
- { x : <x,S(Q(id))> in EXT(Q(prop)) }
- ELEMENT(swol:hasValue,{},<prop,TEXT(text)>,type,value>)
- { x : <x,value> in EXT(Q(prop)) }
- ELEMENT(swol:hasClass,{},<prop,class>)
- { x : exists y <x,y> in EXT(Q(prop)) and y in IC(class) }
OWL-2 Extensions for descriptions (ID)
- ELEMENT(swol:minCardinality,{},<prop,int>)
- { x : >=int y <x,y> in EXT(Q(prop)) }
- ELEMENT(swol:maxCardinality,{},<prop,int>)
- { x : <=int y <x,y> in EXT(Q(prop)) }
- ELEMENT(swol:cardinality,{},<prop,int>)
- { x : =int y <x,y> in EXT(Q(prop)) }
OWL-2 Extensions for descriptions (ID)
- ELEMENT(swol:minCardinality,{},<prop,int,class>)
- { x : >=int y <x,y> in EXT(Q(prop)) and y in IC(class) }
- ELEMENT(swol:maxCardinality,{},<prop,int,class>)
- { x : <=int y <x,y> in EXT(Q(prop)) and y in IC(class) }
- ELEMENT(swol:cardinality,{},<prop,int,class>)
- { x : =int y <x,y> in EXT(Q(prop)) and y in IC(class) }
OWL-2 Extensions for descriptions (IC)
- desc
- ELEMENT(id)
- L(Q(id))), provided that Q(id) in DT
OWL-2 Models
- An interpretation is a model for an OWL-2 knowledge base if there is some
extension of the interpretation that satisfies the knowledge base.
- An OWL-2 knowledge base, KB1, entails another, KB2, if all models of KB1
are also models of KB2.
DAML+OIL Entailment
:John a :Person .
entails
:John a _:2 .
_:2 owl:intersectionOf ( :Person _:3) .
_:3 owl:unionof ( :Student _:4) .
_:4 owl:complementOf :Student .
DAML+OIL Paradox
What is the meaning of the following?
_:1 a owl:Restriction .
_:1 owl:onProperty rdf:type .
_:1 owl:maxCardinalityQ 0 .
_:1 owl:hasClassQ _:2 .
_:2 oneOf _:3 .
_:3 owl:first _:1 .
_:3 owl:rest owl:nil .
_:1 a _:1 .
DAML+OIL mismatch
If SWOL makes restrictions not be classes, then RDFS will
report more classes for the following example.
John a _:1 .
_:1 a owl:Restriction .
_:1 owl:onProperty friend .
_:1 owl:toClass Student .
OWL-1 Entailment
bar rdfs:subPropertyOf bbb .
baz rdfs:subPropertyOf bbb .
Jake a [a owl:Restriction; owl:onProperty foo;
owl:toClass owl:TransitiveProperty;
owl:hasClass [ owl:oneOf ( bar baz ) ] ] .
John bar Jill .
Jill bar Susan .
John baz Mary .
Mary baz Susan .
entails
John a [a owl:Restriction; owl:onProperty bbb;
owl:hasValue Susan ] .