daml + oil an ontology language for the semantic web peter aronsson (pelab) cécile Åberg (iislab)

28
DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

Post on 21-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

DAML + OIL

an ontology language for the Semantic Web

Peter Aronsson (pelab)

Cécile Åberg (iislab)

Page 2: 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

Page 3: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 4: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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)

Page 5: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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>

Page 6: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 7: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 8: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 9: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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.

Page 10: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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)

Page 11: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 12: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 13: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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)

Page 14: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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)

Page 15: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 16: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

DAML+OIL syntax

Page 17: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 18: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 19: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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.

Page 20: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 21: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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)

Page 22: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

+ 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)

Page 23: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 24: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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>

Page 25: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 26: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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.

Page 27: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

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

Page 28: DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)

OilEd Demo