Ontology Languages and Tools

boorishadamantΤεχνίτη Νοημοσύνη και Ρομποτική

29 Οκτ 2013 (πριν από 3 χρόνια και 7 μήνες)

110 εμφανίσεις

Ontology Languages and Tools

Ian Horrocks

<horrocks@cs.man.ac.uk>

Information Management Group

School of Computer Science

University of Manchester

Recent Developments and Research Challenges

The Web Ontology

Language OWL


Semantic Web led to requirement for a “web ontology language”



set up Web
-
Ontology (
WebOnt
) Working Group


WebOnt developed
OWL

language


OWL based on earlier languages
RDF
,
OIL

and
DAML+OIL


OWL now a W3C
recommendation

(i.e., a standard)


OWL is a family of 3 languages: OWL Lite, OWL DL

and OWL Full


OIL, DAML+OIL and OWL (DL & Lite) based on

Description Logics


Has facilitated development of wide range of high

quality tools & infrastructure


OWL now used in an increasing range of

applications…

OWL History


OWL Experiences and Directions


Workshop at ESWC’07 (Innsbruck, Austria,
6
-
7 June
)


Brings together users, implementors and researchers


Submissions include:


Enterprise Integration (Mitre)


Product development (Lockheed Martin)


Role based access control (NASA)


Healthcare (SNOMED)


Agriculture and fisheries (UN Food & Agriculture Organization)


Oral Medicine (Chalmers)




What Are Description Logics?


A family of logic based Knowledge Representation
formalisms


Descendants of
semantic networks

and
KL
-
ONE


Describe domain in terms of
concepts

(classes),
roles

(properties, relationships) and
individuals


Operators
allow for composition of complex concepts


Names

can be given to complex concepts, e.g.:


HappyParent

´

Parent
u

8
hasChild.(Intelligent
t
Athletic)

HappyParent

´

Parent
u

8
hasChild.(
Intelligent
t

Athletic
)

HappyParent

´

Parent
u

8
hasChild
.(Intelligent
t
Athletic)

HappyParent

´

Parent

u

8
hasChild.(Intelligent

t
Athletic)

HappyParent

´

Parent
u

8
hasChild.(Intelligent
t
Athletic)

Why (Description) Logic?


OWL exploits results of 15+ years of DL research


Well defined (model theoretic)
semantics


Cat

Animal

IS
-
A

has
-
color

Black

Felix

IS
-
A

Mat

IS
-
A

sits
-
on

[Quillian, 1967]

Why (Description) Logic?


OWL exploits results of 15+ years of DL research


Well defined (model theoretic)
semantics


Formal properties

well understood (complexity, decidability)

[Garey & Johnson. Computers and Intractability: A Guide
to the Theory of NP
-
Completeness. Freeman, 1979.]

I can’t find an efficient algorithm, but neither can all these famous people.

Why (Description) Logic?


OWL exploits results of 15+ years of DL research


Well defined (model theoretic)
semantics


Formal properties

well understood (complexity, decidability)


Known
reasoning
algorithms


Why (Description) Logic?


OWL exploits results of 15+ years of DL research


Well defined (model theoretic)
semantics


Formal properties

well understood (complexity, decidability)


Known
reasoning
algorithms


Implemented systems

(highly optimised)

Pellet

KAON2

CEL

Why the Strange Names?


Description Logics are a
family

of KR formalisms


Mainly distinguished by available operators


Available operators

indicated by letters in name, e.g.,

S


:

basic DL (
ALC
) plus transitive roles (e.g., ancestor


R
+
)

H

:

role hierarchy (e.g., hasDaughter
v

hasChild)

O

:

nominals/singleton classes (e.g., {Italy})

I


:

inverse roles (e.g., isChildOf
´

hasChild

)

N


:

number restrictions (e.g.,
>
2
hasChild,
6
3
hasChild)


Basic DL + role hierarchy + nominals + inverse + NR =
SHOIN


The basis for
OWL
-
DL



SHOIN

is very expressive, but still decidable (just)


Decidable


we can build reliable tools and reasoners

Class/Concept Constructors


C

is a concept (class);
P

is a role (property);
x

is an individual name


XMLS
datatypes

as well as classes in
8
P.C

and
9
P.C


Restricted form of DL
concrete domains

Knowledge Base / Ontology Axioms

OWL RDF/XML Exchange Syntax



<owl:Class>


<owl:intersectionOf rdf:parseType=" collection">


<owl:Class rdf:about="#Parent"/>


<owl:Restriction>


<owl:onProperty rdf:resource="#hasChild"/>


<owl:allValuesFrom>


<owl:unionOf rdf:parseType=" collection">


<owl:Class rdf:about="#Intelligent"/>


<owl:Class rdf:about="#Athletic"/>


</owl:unionOf>


</owl:allValuesFrom>


</owl:Restriction>


</owl:intersectionOf>

</owl:Class>

E.g.,

Parent
u

8
hasChild.(Intelligent
t
Athletic):

Ontology Engineering

Ontology Engineering Tasks


Typical
tasks

in Ontology Engineering:


author concept descriptions


refine the ontology


manage errors


integrate different ontologies


(partially) reuse ontologies


These tasks are
highly challenging
; need for:


tool & infrastructure support


design methodologies

Tools and Infrastructure


Editors/environments


Oiled, Protégé, Swoop, Construct, Ontotrack, …

Tools and Infrastructure


Editors/environments


Oiled, Protégé, Swoop, Construct, Ontotrack, …


Reasoning systems


Cerebra, FaCT++, Kaon2, Pellet, Racer, …

Pellet

KAON2

CEL

Tools and Infrastructure


Editors/environments


Oiled, Protégé, Swoop, Construct, Ontotrack, …


Reasoning systems


Cerebra, FaCT++, Kaon2, Pellet, Racer, …


Design methodologies


Modularity, foundational ontologies,

etc.

Entity

Substantial

Quality

Event

Achievement

Stative

Accomplishment

Perdurant

Endurant

Why Ontology Reasoning?


Reasoning is an essential component of
tools

and
services

that
help users and applications to:


Design and maintain high quality ontologies, e.g.:


Meaningful



all named classes can have instances

Why Ontology Reasoning?


Reasoning is an essential component of
tools

and
services

that
help users and applications to:


Design and maintain high quality ontologies, e.g.:


Meaningful



all named classes can have instances


Correct



captures intuitions of domain experts

Why Ontology Reasoning?


Reasoning is an essential component of
tools

and
services

that
help users and applications to:


Design and maintain high quality ontologies, e.g.:


Meaningful



all named classes can have instances


Correct



captures intuitions of domain experts


Minimally redundant



no unintended synonyms



Banana split

Banana sundae

Why Ontology Reasoning?


Reasoning is an essential component of
tools

and
services

that
help users and applications to:


Design and maintain high quality ontologies, e.g.:


Meaningful



all named classes can have instances


Correct



captures intuitions of domain experts


Minimally redundant



no unintended synonyms


Answer
queries
, e.g.:


Find more general/specific classes


Retrieve individuals/tuples matching
a given query

Recent Developments:

Languages

OWL 1.1


Is an extension of OWL


community effort: users and developers from
OWLED workshop


Is based on more expressive DL:

SROIQ


(OWL is based on

SHOIN
)


Now a W3C member submission


See
http://webont.org/owl/1.1/


Is backwards compatible with OWL:


every OWL ontology is a valid OWL 1.1 ontology


Every OWL 1.1 ontology not using new features is
a valid OWL ontology


Already supported by most popular OWL tools


Protégé, Swoop, TopBraid, FaCT++, Pellet

What’s New in
SROIQ
?

Q
stands for
qualifying
number restrictions:


SROIQ
allows for concepts (
>
n R.
C
)

and (
6
n R.
C
), e.g:


Person
v

Animal
u

=2 hasPart.
Legs


Car
v
=4 hasComponent.
Wheel


Person
v
6
1
bio
-
parent.
Male



(
SHOIN
only allows for concepts (
>
n R)
, and (
6
n R))

What’s New in
SROIQ
?

R
stands for expressive
role assertions
:


new role
inclusion assertions:


R1
o … o

Rn
v
S


R1
o … o

Rn
o

S
v
S


S
o
R1
o … o

Rn
v
S

(with some restrictions on cycles)








useful, e.g., for




owns
o

hasPart
v

owns
implies
9
owns.Bicycle
v

9
owns.Wheels

partOf
o

locatedIn
v

locatedIn
implies

Fracture
u

9
locatedIn.FemurShaft






v

Fracture
u

9
locatedIn.Femur
hasParent
o

hasBrother
v

hasUncle

What’s New in
SROIQ
?

R
stands for expressive
role assertions
:


Tra(
R
) (supported by
SHOIN
)


Asy(
R
) e.g., Asy(
properpartOf
), Asy(
hasParent
)


Sym(
R
) (supported by
SHOIN
)


Refl(
R
) e.g., Refl(
knows
)


Irrefl(
R
) e.g., Irrefl(
properPartOf
), Asy(
hasParent
)


Disj(
R S
) e.g., Disj(
hasParent hasSibling)



What Else is New in OWL 1.1?

Useful syntactic sugar
:


DisjointUnion(C1 .... Cn)


valueNot(marriedTo John)

What Else is New in OWL 1.1?


Extended datatype expressivity:


OWL 1.1 allows for
user
-
defined

datatypes:


Datatype(over18 base(xsd:integer)
minInclusive("18"^^xsd:integer))
,


Class(Adult complete

super(Person) restriction(age
someValuesFrom(xsd:integer
minInclusive("18"^^xsd:integer))))
.


n
-
ary datatype predicates: e.g. greaterThan:

e.g., to define people who spend more than they earn



BUT
, we still cannot:


define complex relationships between data properties Women who earn
more than their husbands.


declare a datatype property as inverse
-
functional (keys).

Tractable Fragments of OWL


Why define fragments of OWL?


Ease of use.


Ease of implementation in tools.


Trade
-
off between expressive power and computational
properties

Rule of thumb
: the more expressive power, the harder the
reasoning.


OWL 1.1 defines several different fragments with
useful computational properties


Reasoning complexity in range LOGSPACE to PTIME

Recent Developments:

Tools and Methodologies

Tools and Methodologies


OWL 1.1 support already added to several tools:


Protégé, Swoop, TopBraid Composer, FaCT++, Pellet


New features available (soon) in OWL tools:


Incremental classification (addition and retraction)


Conjunctive query answering


Semi
-
automatic repair of errors


Support for integration and modular design

Modularity in Software Engineering

Typically referred to as the extent to which software is
divided into components with:


high internal cohesion


controlled coupling between each other through simple
interfaces (
encapsulation
)

Benefits of modular software design:


software maintainability


software understandability

Modularity in Ontology Engineering

Benefits

of a modular ontology design: to simplify


ontology refinement/update

modifying a module should not lead to modifications in parts of
the ontology that are not conceptually related


understanding

relationships between different modules in an ontology
controlled and well
-
understood


integration with other ontologies

no unexpected consequences


partial reuse

reuse only the relevant part/module of an ontology

Tool Support for Modular Design


Extract smaller modules from large ontologies


E.g., starting with FMA, extract module for “Heart”


Tool ensures that module


Is as
small

as possible, but


Still contains
all

relevant knowledge


Check when integration of modules is “safe”


Interface via exported vocabulary


Information flows
from

imported
to

importing ontology


No information flows back the other way

Research Challenges

Increasing Expressive Power


Database style keys

[Lutz et al, JAIR 2004]


E.g., make + model + chassis
-
number is a key for Vehicles


Rule language extensions


W3C RIF WG (see
http://www.w3.org/2005/rules/)


First order extensions (e.g., SWRL)
[Horrocks et al, JWS, 2005]



Hybrid language extensions, e.g.,
[Eiter et al, KR
-
04; Motik et al, ISWC
-
04; Rosati,
JoWS, 2005]



LP/F
-
Logic/Common Logic
[Chen et al, JLP, 1993; de Bruijn et al, WWW
-
05]



Other extensions


Extended annotation framework


Macro language


Temporal


Fuzzy




Improving Scalability


Optimisation techniques


Improve performance of DL reasoners, e.g.,
[Sirin et al, KR
-
06]


Reduction to disjunctive Datalog

[Motik et at, KR
-
04]


Transform
SHOIN

ontology to Datalog
Ç

rules


Use LP techniques to deal with large numbers of ground facts


Hybrid DL
-
DB systems

[Horrocks et al, CADE
-
05]


Use DB to store “Abox” (individual) axioms


Cache inferences and use DB queries to answer/scope logical queries


Polynomial time algorithms

for sub
-
ALC

logics


Graph based techniques for EL+
[Baader et al, IJCAI
-
05]


Database techniques for DL
-
Lite

[Calvanese et al, AAAI
-
05]

Summary


OWL

now being used in a wide range of applications


e
-
Science, medicine, geography, geology, …


Reasoning

enabled
tools

are of crucial importance


For both design and deployment of ontologies


Large and
extremely active R&D area


Language extensions (OWL 1.1)


New and improved tools & methodologies


Research challenges

remain


But tools now mature enough for “prime time” applications

Acknowledgements


Thanks to:


Bernardo Cuenca Grau


Bijan Parsia


Resources:


FaCT++ system (open source)


http://owl.man.ac.uk/factplusplus/


OWL


http://www.w3.org/TR/owl
-
features/



OWLED Workshop


http://owled2007.iut
-
velizy.uvsq.fr/

Any questions?

Thank you for listening


Prot
égé


http://protege.stanford.edu/plugins/owl/


OWL 1.1 Proposal


http://webont.org/owl/1.1/



Slides & Tutorial


http://www.cs.man.ac.uk/~horrocks/nsd07/