Ontology Languages and Tools

advertisement
Ontology Languages and Tools
Recent Developments and Research Challenges
Ian Horrocks
<horrocks@cs.man.ac.uk>
Information Management Group
School of Computer Science
University of Manchester
The Web Ontology
Language OWL
OWL History
• 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 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 8hasChild.(Intelligent t Athletic)
Why (Description) Logic?
• OWL exploits results of 15+ years of DL research
– Well defined (model theoretic) semantics
Animal
IS-A
Cat
has-color
Black
IS-A
Felix
sits-on
Mat
[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)
I can’t find an efficient algorithm, but neither can all these famous people.
[Garey & Johnson. Computers and Intractability: A Guide
to the Theory of NP-Completeness. Freeman, 1979.]
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., >2hasChild, 63hasChild)
• 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 8P.C and 9P.C
–
Restricted form of DL concrete domains
Knowledge Base / Ontology Axioms
OWL RDF/XML Exchange Syntax
E.g., Parent u 8hasChild.(Intelligent t Athletic):
<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>
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
Endurant
Quality
Substantial
Perdurant
Event
Achievement
Stative
Accomplishment
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 (6n 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 (6n 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 9owns.Bicycle v 9owns.Wheels
partOf o locatedIn v locatedIn implies Fracture u 9locatedIn.FemurShaft
v Fracture u 9locatedIn.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
Thank you for listening
Any questions?
Resources:
•
FaCT++ system (open source)
–
•
•
–
•
http://owled2007.iut-velizy.uvsq.fr/
•
http://protege.stanford.edu/plugins/owl/
OWL 1.1 Proposal
–
http://www.w3.org/TR/owl-features/
OWLED Workshop
Protégé
–
http://owl.man.ac.uk/factplusplus/
OWL
–
•
http://webont.org/owl/1.1/
Slides & Tutorial
–
http://www.cs.man.ac.uk/~horrocks/nsd07/
Download