The OWL API A Java API for Working with OWL 2 Ontologies Matthew - - PowerPoint PPT Presentation

the owl api a java api for working with owl 2 ontologies
SMART_READER_LITE
LIVE PREVIEW

The OWL API A Java API for Working with OWL 2 Ontologies Matthew - - PowerPoint PPT Presentation

The OWL API A Java API for Working with OWL 2 Ontologies Matthew Horridge with special thanks to Sean Bechhofer, Ron Alford, Nick Drummond, Birte Glimm, Olaf Noppens, Ignazio Palmisano, Timothy Redmond, Thomas Schneider, Evren Sirin, and Mike


slide-1
SLIDE 1

The OWL API A Java API for Working with OWL 2 Ontologies

Matthew Horridge

with special thanks to

Sean Bechhofer, Ron Alford, Nick Drummond, Birte Glimm, Olaf Noppens, Ignazio Palmisano, Timothy Redmond, Thomas Schneider, Evren Sirin, and Mike Smith

http://owlapi.sourceforge.net

1

slide-2
SLIDE 2

2

slide-3
SLIDE 3

The OWL API

Version 1 Version 2 Version 3 2003 2007 2009

Interim OWL 2 (OWL 1.1) Shift from “frame”

  • riented model

to axiom oriented model OWL 2 Close alignment with OWL 2 specification Addition of more convenience functionality OWL 1 High level syntax neutral interfaces based on the OWL Abstract Syntax All changes applied through change objects

3

slide-4
SLIDE 4

Java interfaces for manipulating OWL 2 ontologies

OWL API

Design Philosophy

4

slide-5
SLIDE 5

OWLAxiom OWLObject OWLLogicalAxiom OWLClassAxiom OWLSubClassOfAxiom

From the Structural Specification to Java Interfaces

5

slide-6
SLIDE 6

Other Machinery

Change support

Change objects for axiom addition and removal, listener support

Ontology management

Creation, loading and saving of ontologies

Common task support

Syntactic validation, metrics, normalisation

Reasoning support

Common reasoner interfaces and reasoner operations

6

slide-7
SLIDE 7

Concrete Syntaxes

(Courtesy of OWL 2 Web Ontology Language Document Overview)

7

slide-8
SLIDE 8

Alternative Storage

http://owldb.sourceforge.net/ OWLOntology OWLOntologyImpl

...

Main memory reference implementation

8

slide-9
SLIDE 9

Reasoning

public interface OWLReasoner { /** * Asks the reasoner to interrupt what it is currently doing. An InterruptedException will be thrown in the * thread that invoked the last reasoner operation. The OWL API is not thread safe in general, but it is likely * that this method will be called from another thread than the event dispatch thread or the thread in which * reasoning takes place. */ void interrupt(); /** * A convenience method that determines if the set of reasoner axioms (the set of axioms returned by * the {@link #getAxioms()} method) is consistent. * @return <code>true</code> if the set of axioms is consistent, * or <code>false</code> if the set of axioms is inconsistent. * @throws InterruptedException if the reasoning process was interrupted for any particular reason (for example if * reasoning was cancelled by a client process) */ boolean isConsistent() throws InterruptedException; /** * A convenience method that determines if the specified class expression is satisfiable with respect to the * set of reasoner axioms (the set of axioms returned by the {@link #getAxioms()} method) * @param classExpression The class expression * @return <code>true</code> if classExpression is satisfiable with respect to the set of axioms, or * <code>false</code> if classExpression is unsatisfiable with respect to the axioms. * @throws InconsistentOntologiesException if the reasoner's axiom set is inconsistent * @throws EntitiesNotInSignatureException if the signature of the classExpression is not contained within the signature * of the reasoner's axiom set. * @throws ExpressivenessOutOfScopeException If the class expression contains constructs that are out of the scope * of expressiveness that is supported by this reasoner. * @throws InterruptedException if the reasoning process was interrupted for any particular reason (for example if * reasoning was cancelled by a client process) */ boolean isSatisfiable(OWLClassExpression classExpression) throws InterruptedException;

9

slide-10
SLIDE 10

Profiles API

OWL2ELProfile OWLProfile ... OWL2QLProfile OWL2RLProfile OWL2DLProfile

OWL 2 EL OWL 2 QL OWL 2 RL

UseOfReservedVocabularyForOntologyIRI UseOfUndeclaredClass UseOfNonSubClassExpression

10

slide-11
SLIDE 11

11

slide-12
SLIDE 12

Examples of Use

12

slide-13
SLIDE 13

Metrics API for

  • ntology metrics view

13

slide-14
SLIDE 14

Axiom retrieval by signature and type for usage views

14

slide-15
SLIDE 15

Working with multiple ontologies in an imports closure

15

slide-16
SLIDE 16

Change objects used for undo/redo

16

slide-17
SLIDE 17

Common reasoner interface

17

slide-18
SLIDE 18

Out of the box serialisation support for multiple file formats

18

slide-19
SLIDE 19

Use of Manchester Syntax parser to provide editor autocompletion and syntax checking

19

slide-20
SLIDE 20

Axiom oriented model simplifies many tasks

20

slide-21
SLIDE 21

Widely used in many other tools

21

slide-22
SLIDE 22

Acknowledgements

Sean Bechhofer

22

slide-23
SLIDE 23

Acknowledgements

Birte Glimm Boris Motik Tim Redmond Ignazio Palmisano

23

slide-24
SLIDE 24

Acknowledgements

Olaf Noppens Evren Sirin Thomas Schneider Mike Smith Nick Drummond Ron Alford

24