Ontology Languages For The Semantic Web
Ontology Languages For The Semantic Web
Ontology Languages For The Semantic Web
for the
Semantic Web
Ontology Languages
• Wide variety of languages for “Explicit Specification”
– Graphical notations
• Semantic networks
Ontology Languages
• Wide variety of languages for “Explicit Specification”
– Graphical notations
• Topic Maps
Ontology Languages
• Wide variety of languages for “Explicit Specification”
– Graphical notations
• UML
Ontology Languages
• Wide variety of languages for “Explicit Specification”
– Graphical notations
• RDF
Ontology Languages
• Wide variety of languages for “Explicit Specification”
– Logic based
• Description Logics (e.g., OIL, DAML+OIL, OWL)
• Rules (e.g., RuleML, LP/Prolog)
• First Order Logic (e.g., KIF)
Ontology Languages
• Wide variety of languages for
“Explicit Specification”
– Logic based
• Conceptual graphs
Ontology Languages
• Wide variety of languages for “Explicit Specification”
– Logic based
• Conceptual graphs
• (Syntactically) higher order logics (e.g., LBase)
• Non-classical logics (e.g., Flogic, Non-Mon, modalities)
– Bayesian/probabilistic/fuzzy
hasColleague
Ia Ul
n i
hasHomePage
hasColleague
Carole http://www.cs.mam.ac.uk/~sattler
<Description about="some.uri/person/ian_horrocks">
<hasColleague resource="some.uri/person/uli_sattler"/>
</Description>
<Description about="some.uri/person/uli_sattler">
<hasHomePage>http://www.cs.mam.ac.uk/~sattler</hasHomePage>
</Description>
<Description about="some.uri/person/carole_goble">
<hasColleague resource="some.uri/person/uli_sattler"/>
</Description>
RDF Schema (RDFS)
• RDF gives a formalism for meta data annotation, and a way
to write it down in XML, but it does not give any special
meaning to vocabulary such as subClassOf or type
– Interpretation is an arbitrary binary relation
– I.e., <Person,subClassOf,Animal> has no special meaning
b
Mary drives Z123ABC
{ha,bi,…} µ £
Aside: Set Based Model Theory Example
• Formally, the vocabulary is the set of names we use in our
model of (part of) the world
– {Daisy, Cow, Animal, Mary, Person, Z123ABC, Car, drives, …}
• An interpretation I is a tuple h , ¢I i
– is the domain (a set)
– ¢I is a mapping that maps
• Names of objects to elements of
• Names of unary predicates (classes/concepts) to subsets
of
• Names of binary predicates (properties/roles) to subsets of
£
• And so on for higher arity predicates (if any)
RDF Semantics
• RDF has “Non-standard” semantics in order to deal with this
• Semantics given by RDF Model Theory (MT)
• In RDF MT, an interpretation I of a vocabulary V consists of:
– IR, a non-empty set of resources (corresponds to )
– IS, a mapping from V into IR (corresponds to ¢I )
– IP, a distinguished subset of IR (the properties)
• A vocabulary element v 2 V is a property iff IS(v) 2 IP
– IEXT, a mapping from IP into the powerset of IR£IR
• I.e., property elements mapped to subsets of IR£IR
– IL, a mapping from typed literals into IR
Example RDF Simple Interpretation
RDF Semantic Conditions
• RDF Imposes semantic conditions on interpretations, e.g.:
– x is in IP if and only if <x, IS(rdf:Property)> is in IEXT(I(rdf:type))
• All RDF interpretations must satisfy certain axiomatic triples,
e.g.:
– rdf:type rdf:type rdf:Property
– rdf:subject rdf:type rdf:Property
– rdf:predicate rdf:type rdf:Property
– rdf:object rdf:type rdf:Property
– rdf:first rdf:type rdf:Property
– rdf:rest rdf:type rdf:Property
– rdf:value rdf:type rdf:Property
– …
Example RDF Interpretation
RDFS Semantics
• RDFS simply adds semantic conditions and axiomatic triples
that give meaning to schema vocabulary
• Class interpretation ICEXT simply induced by rdf:type, i.e.:
– x is in ICEXT(y) if and only if <x,y> is in IEXT(IS(rdf:type))
• Other semantic conditions include:
– If <x,y> is in IEXT(IS(rdfs:domain)) and <u,v> is in IEXT(x) then u
is in ICEXT(y)
– If <x,y> is in IEXT(IS(rdfs:subClassOf)) then x and y are in IC and
ICEXT(x) is a subset of ICEXT(y)
– IEXT(IS(rdfs:subClassOf)) is transitive and reflexive on IC
• Axiomatic triples include:
– rdf:type rdfs:domain rdfs:Resource
– rdfs:domain rdfs:domain rdf:Property
RDFS Interpretation Example
• If RDFS graph includes triples
<Species,type,Class>
<Lion,type,Species>
<Leo,type,Lion>
<Lion,subClassOf,Mamal>
<Mamal,subClassOf,Animal>
• Interpretation conditions imply existence of triples
<Lion,subClassOf,Animal>
<Leo,type,Mamal>
<Leo,type,Animal>
…
Problems with RDFS
• RDFS 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
Web Ontology Language Requirements
Desirable features identified for Web Ontology Language:
???
???
Semantics+reasoning
?
Relational Data
?
Data Exchange