DAML + OIL
an ontology language for the Semantic Web
Peter Aronsson (pelab)
Cécile Åberg (iislab)
Outline
• Ontology Language requirements
• Ontology example
• XML/RDFS are not enough
• DAML+OIL: generalities
• DAML+OIL: syntax
• DAML+OIL: reasoning
• DAML+OIL: some discussion
• DAML+OIL: summary
• OilEd: demo
Ontology language requirement
• UEP: Universal expressive power
• SyI: Support for Syntactic Interoperability: easy to read the data (parsers)
easy to get a representation usable by applications (query-able)
• SeI: Support for Semantic Interoperabilitycapable of understanding the data
Ontology example (OIL)
class-def animal%plants are a class that is disjoint from animalsclass-def plant subclass-of NOT animal%it is necessary but not sufficient for a tree to be a plant:class-def tree subclass-of plant%branches are PART OF treesclass-def branch
slot-constraint is-part-of has-value tree%it is necessary and sufficient for a carnivore to be an animal:class-def defined carnivore subclass-of animal
slot-constraints eats value-type animal%herbivores eat only plants OR part of plantsclass-def defined herbivore subclass-of animal
slot-constraint eats value-type plant OR (slot-constraint is-part-of has-value plant)
XML is not enough
+ UEP: anything can be encoded in XML (if a grammar can be defined for it)
+ SyI: exists reusable XML parsers– SeI: Do not impose a common interpretation of the
data: only feasible for closed collaboration
<class-def><name>branch</name><slot-constraint>
<name>is-part-of</name><has-value>tree</has-value>
</slot-constraint></class-def>
RDF/RDFS is not enough (1/2)
+ UEP: Can express hierarchies of objects, i.e. ontologies
+ SyI: Exists reusable RDF/RDFS parsers/ SeI:
+ has a specific semantic for some terms (subClassOf)
– there is no semantic preserving mappings between all objects
RDFS can be extended to define a more
powerful ontology language that allows
inference
RDF/RDFS is not enough (2/2)
rdfs:Class
herbivore oil-subclass-of
animal
carnivore
oil:AND
oil:OR
rdfs:type
rdfs:type
oil:hasClass
oil:hasClass
oil:hasClass
rdfs:type
oil:classExpression
rdfs:Class
rdfs:typeoil:AND
rdfs:subClassOf
rdfs:type
class-def defined herbibore
sublclass-of animal, NOT carnivore
3 steps to extend RDFS
Modeling primitives of
ontology language L.
Express specific
ontology in L.
Produce instances of
the specific ontology
oil:subclass-of
oil:not
class-def giraffesubclass-of animalslot-constraints
eats value-type leaf
animal12
-eats leaf34RDF: metaontology +
RDFS + ontology
RDF: ontology coded
in meta ontology +
RDFS
RDF: meta ontology
coded in RDFS
Type of expression Encoded inExample
1
2
3
DAML + OIL• Syntax = extension of RDFS
– constraints on properties: exists, forall, cardinality
– boolean combination of classes and restrictions
– equivalence, disjointnes, covering
– necessary and sufficient condition
– constraints on properties
• 2 well defined semantic specification– model theoretic: description logic
– axiomatization in KIF: predicate logic
Allows for machine understanding and automated reasoning.
Why automated reasoning?
• Ontology design:– check class consistency and unexpected implied relationships
– especially needed for large, multi-authored ontologies
• Ontology integration/sharing– assert inter-ontology relationships
– reasoner computes integrated class hierarchy
• Ontology deployment– check if facts are consistent wrt ontology
– check if individuals are instance of ontology classes
The semantic web needs a logic on top (Henry Thompson)
Before: Ontologies, ML for Web, DL, Frame Lang., etc.
In ‘00: first OIL related publications (EU researchers)
Aug00: kickoff meeting for DAML US project
Oct00: DAML-ONT: no inference rules DAML team looks for inference mechanisms
Experiments with predicate logic
OIL, EU project based on DL
Dec00: DAML + OIL: 2 semantics.
Most of OIL is kept except its RDF syntax.
Nov 01: WebOnt (W3C) working group kick off
Feb 28: WebOnt publishes OWL requirements
DAML+OIL: short history
WebOnt WG- language features (OWL req.)- testing/implement.- semantics- guidelines
DAML+OIL: participants
Semantic Web Activity
DAML + OIL for WebOnt
DAML
Military emphasis
RDF-SRDF
WebOnt WG
EU W3CDAML +
OIL
Semantic Web Resources EUOntoWeb
OILE-business emphasis
W3C DAML
OIL-Standard DAML-ONTSemantics denotational English
complete, unambiguous partial, ambiguous Meaning of a collection always conjunctive usually conjuctive of statements sometimes disjunctive (domain from RDF)Capabilities Built in Classes thing, nothing thing, nothing Primitive Classes yes yes Defined Classes yes maybe, ugly Class Hierarchy yes yes, from RDF Property Hierarchy yes yes Equivalence yes (defined classes) maybe Disjoint, Disjoint Cover yes yes Inverse/Transitive Prop yes yes Union/Intersection yes, class constructor yes, class definition Complement yes, class constructor yes, class definition Domain Restriction yes, conjunctive yes, disjunctive (from RDF)
Comparing OIL and DAML-ONT (1/2)
OIL-Standard DAML-ONT Range Restrictions global and local global (from RDF)
and local
Filler Restrictions local (and global) local (and global)
Cardinality Restrictions local (and global) global only
Sets yes yes
Lists no yes
Defaults no yes
Individuals yes yes
Concrete Types (int, ...) yes yes
Reasoning
Specification complete incomplete
Completion Possible no no
Least Partial Model no no
Difficulty EXPtime complete (?) unknown, at least NP hard
Comparing OIL and DAML-ONT (2/2)
DAML+OIL: unusual DL features
– non frame syntax must use a specific editor
– organizational information lost (see e.g. later):
list of axioms: no sense of a main definition of a class or individual
+ large collection of primitive types (int…)
/ allows individual to occurs in concept definition reasoners are difficult to construct
DAML+OIL syntax
DAML+OIL: DL expressivity– Basic DL: ALC = {and, or, not} – Other DL = ALC + set of roles– OIL: SHIQ
• very expressive:
ALC + {transitive roles + cardinality restriction max1 on roles + is-a on roles + inverse roles + cardinality restriction (e.g. 2<)}
• note: no reasoning on individuals.
– DAML+OIL: DL name not specified in lit.• SHIQ + some: cf. list of axioms and operators
• OilEd: FaCT classifier (SHIQ)
DL classifier + modal logic satisfiability tester
DAML+OIL: what you can reason about
• transitive roles capture patronomy, causality, etc.
R(a,b) and R(b,c) R(a, c)
Cause(smoking, cancer) and Cause(cancer, death) Cause(smoking, death)
(DAML+OIL medical terminology ontology)
Smoking causes.Cancer plus Cancer causes.Death Smoking causes.Death
StomachUlcer = Ulcer hasLocation.Stomach plus StomachUlcer hasLocation.LiningOfStomach Ulcer hasLocation.Stomach OrganLiningLesion
• multiple equality/inclusion axioms generate new axioms
Axiom1) stomach ulcer is an ulcer and is an object located in the stomach
Axiom2) stomach ulcer is-an object that is located in the lining of stomach
inference) an object that is an ulcer and is an object located in the stomach
is-an object that is located in the lining of stomach
DAML+OIL: what you can reason about
BloodPressure hasValue.(high low) 1hasValue plus High low
HighLowBloodPressure
• inverse roles capture, e.g., causes/causedBy relationship.
Death and causedBy.Smoking prematureDeath Smoking causes.PrematureDeath
“if (A linked to B by R) is-a C then (B is linked to C by the inverse of R)”
E.g.: causes is inverse of causedBy
if death caused by smoking is a premature death then smoking causes premature death
• cardinality restrictions add consistency constraints
E.g.: If blood pressure can have a value that can be either high or low and can have only one value, then a blood pressure can not be high and low at the same time.
DAML+OIL: what you can not reason about
• No property constructe.g.: parent o brother uncle, ancestor = parent+
• No variableUlcer haslocation.?r haslocation.(LiningOf.?x)
• Only unary and binary predicatescan not express directly P(x, y, z)
Language extensions are possible but have a cost
tractability vs. expressivity problem
DAML+OIL and OWL requirements (1/2)
+ = yes, / = partial+ R1 shared (daml:ontology, ns, classes)+ R2 extension (daml:import)/ R3 evolution (daml:versionInfo)/ R4 interoperability
(rdfs:subClassOf/subPropertyOf,...)+ R5 inconsistency detection (DL reasoner)+ R6 scalability/ R7 ease of use (+ classes, frame (DL), - RDF)
+ R10 XML syntax+ R12 ontology based search (can be done)• R14 expressiveness (limited to the chosen DL)/ R18 explainability (inferences rules available)
no consensus:
R8 data persistence, R9 security, R13 querying, R15 proof checking, R16 Trust, R17 Tagging
other requirements (from other groups):
R19: default info, R20: part whole info R10 XML syntax
DAML+OIL and OWL requirements (2/2)
Problem: Sharing (exchanging) ontologies• Consistent interpretation
– requires syntactic and semantic understanding
• the intention of the author is clear for the agent using the ontology– requires semiotic understanding
• DAML+OIL venture looses the original OIL semiotic support provided by frame languages:
grouping axioms specific to a class
Class-def
primitive White-van-man
equivalent
White-van-man
(Man and
slot-constraint drives has-values White-van))
covered White-van-man by Aggressive-driver
Class-def
defined White-van-man
subclass-of Man
slot-constraint drives
has-values White-van
covered White-van-man by Aggressive-driver
<rdfs:Class rdf:ID=“White-van-man”>
<rdfs:subClassOf>
<rdfs:Class
rdf:about=“Aggressive-driver”/>
</rdfs:subClassOf>
</rdfs:Class>
<rdfs:Class
rdf:about=“White-wan-man”>
<daml:sameClassAs>
<rdfs:Class>
<daml:intersectionOf>
<rdfs:Class rdf:about=“man”/>
<daml:Restriction>
<daml:onProperty
rdf:resource=“drives”/>
<daml:hasClass
rdf:resources=“White-van”/>
</daml:Restriction>
</daml:intersectionOf>
</rdfs:Class></...></rdfs:Class>
Extending DAML + OIL
• Work in progress on datatypes– supporting some of XMLS datatypes– making datatypes disjoint from abstract classes and
only accessible via properties– maintains decidability and tractability of language
• Further implementation in upper layers– DAML-RULES, DAML-S– upper layers use DAML+OIL as DAML uses RDFS
DAML+OIL status
• annotated walkthrough• examples• full syntactic definition (RDFS)• denotational and axiomatic semantic published
– 1st formal semantics for a web language
• Proposal to W3C for standardization ongoing (WebOnt)
• Daml ontology library: 140+ ontologies• Web tools: annotation, API, browser, editor,
validator, inference engine, ontology editor, query, etc.
DAML+OIL Summary
• Ontology Language for the Semantic Web• Extends RDFS
– more expressive power
– well defined semantics
– 100% mapping in XML
• Implementable– decidable and tractable reasoning
– cost = restriction on the expressivity
• Extensible: loosing some decidability and/or tractability
• Usage: DAML library of ontologies + web services
OilEd Demo