org.semanticweb.owl.model
Interface OWLOntologyManager

All Superinterfaces:
OWLOntologySetProvider

public interface OWLOntologyManager
extends OWLOntologySetProvider

Author: Matthew Horridge
The University Of Manchester
Bio-Health Informatics Group Date: 24-Oct-2006 The OWLOntologyManager manages a set of ontologies. It is the main point for creating, loading and accessing ontologies.


Method Summary
 java.util.List<OWLOntologyChange> addAxiom(OWLOntology ont, OWLAxiom axiom)
          A convenience method that adds a single axioms to an ontology.
 java.util.List<OWLOntologyChange> addAxioms(OWLOntology ont, java.util.Set<? extends OWLAxiom> axioms)
          A convenience method that adds a set of axioms to an ontology.
 void addMissingImportListener(MissingImportListener listener)
          In the case where silent missing imports handling is enabled, a listener can be attached via this method so that there is a mechanism that allows clients to be informed of the reason when an import cannot be loaded.
 void addOntologyChangeListener(OWLOntologyChangeListener listener)
          Adds an ontology change listener, which listens to all changes for all ontologies.
 void addOntologyChangeListener(OWLOntologyChangeListener listener, OWLOntologyChangeBroadcastStrategy strategy)
          Adds an ontology change listener, which listens to ontology changes.
 void addOntologyFactory(OWLOntologyFactory factory)
          Adds an ontology factory that is capable of creating an ontology given a particular physical URI.
 void addOntologyLoaderListener(OWLOntologyLoaderListener listener)
           
 void addOntologyStorer(OWLOntologyStorer storer)
          Add an ontology storer.
 void addURIMapper(OWLOntologyURIMapper mapper)
          Adds a mapper to this manager.
 java.util.List<OWLOntologyChange> applyChange(OWLOntologyChange change)
          A convenience method that applies just one change to an ontology that is managed by this manager.
 java.util.List<OWLOntologyChange> applyChanges(java.util.List<? extends OWLOntologyChange> changes)
          Applies a list of changes to some or all of the ontologies that are managed by this manager.
 void clearURIMappers()
          Clears any installed URI mappers
 boolean contains(java.net.URI ontologyURI)
          Determines if there is an ontology with the specified URI that is managed by this manager.
 OWLOntology createOntology(java.net.URI ontologyURI)
          Creates a new (empty) ontology that has the specified ontology URI.
 OWLOntology getImportedOntology(OWLImportsDeclaration declaration)
          Given an imports declaration, obtains the ontology that this imports has been resolved to.
 java.util.Set<OWLOntology> getImports(OWLOntology ontology)
          Gets the set of ontologies that are directly imported by the specified ontology.
 java.util.Set<OWLOntology> getImportsClosure(OWLOntology ontology)
          Gets the imports closure for the specified ontology.
 java.util.Set<OWLOntology> getOntologies()
          Gets all of the ontologies that are managed by this manager.
 OWLOntology getOntology(java.net.URI ontologyURI)
          Gets a previously loaded/created ontology that corresponds to the specified ontology URI.
 OWLOntologyFormat getOntologyFormat(OWLOntology ontology)
          Gets the ontology format for the specified ontology.
 OWLDataFactory getOWLDataFactory()
          Gets a data factory which can be used to create OWL API objects such as classes, properties, individuals, axioms etc.
 java.net.URI getPhysicalURIForOntology(OWLOntology ontology)
          Gets the physical URI for a given ontology.
 boolean isSilentMissingImportsHandling()
          Determines if silent missing imports handling is enabled.
 OWLOntology loadOntology(OWLOntologyInputSource inputSource)
          A convenience method that load an ontology from an input source.
 OWLOntology loadOntology(java.net.URI ontologyURI)
          Loads the ontology specified by the ontologyURI parameter.
 OWLOntology loadOntologyFromPhysicalURI(java.net.URI uri)
          A convenience method that loads an ontology from a physical URI.
 void makeLoadImportRequest(OWLImportsDeclaration declaration)
          Requests that the manager loads an imported ontology that is described by an imports statement.
 OWLOntology reloadOntology(java.net.URI ontologyURI)
          Reloads an ontology that is already managed by this manager.
 void removeMissingImportListener(MissingImportListener listener)
          Removes a previously added missing import listener.
 void removeOntology(java.net.URI ontologyURI)
          Attempts to remove an ontology.
 void removeOntologyChangeListener(OWLOntologyChangeListener listener)
          Removes a previously added listener.
 void removeOntologyFactory(OWLOntologyFactory factory)
          Removes a previously added factory.
 void removeOntologyLoaderListener(OWLOntologyLoaderListener listener)
           
 void removeOntologyStorer(OWLOntologyStorer storer)
          Removes a previously added storer
 void removeURIMapper(OWLOntologyURIMapper mapper)
          Removes a mapper from this manager.
 void saveOntology(OWLOntology ontology)
          Saves the specified ontology.
 void saveOntology(OWLOntology ontology, OWLOntologyFormat ontologyFormat)
           
 void saveOntology(OWLOntology ontology, OWLOntologyFormat ontologyFormat, OWLOntologyOutputTarget outputTarget)
           
 void saveOntology(OWLOntology ontology, OWLOntologyFormat ontologyFormat, java.net.URI physcialURI)
           
 void saveOntology(OWLOntology ontology, OWLOntologyOutputTarget outputTarget)
           
 void saveOntology(OWLOntology ontology, java.net.URI physicalURI)
          Saves the specified ontology, using the specified URI to determine where/how the ontology should be saved.
 void setOntologyFormat(OWLOntology ontology, OWLOntologyFormat ontologyFormat)
          Sets the format for the specified ontology.
 void setPhysicalURIForOntology(OWLOntology ontology, java.net.URI physicalURI)
          Overrides the current physical URI for a given ontology.
 void setSilentMissingImportsHandling(boolean b)
          The default behaviour when an import cannot be loaded is to throw an exception.
 

Method Detail

getOWLDataFactory

OWLDataFactory getOWLDataFactory()
Gets a data factory which can be used to create OWL API objects such as classes, properties, individuals, axioms etc.


getOntologies

java.util.Set<OWLOntology> getOntologies()
Gets all of the ontologies that are managed by this manager.

Specified by:
getOntologies in interface OWLOntologySetProvider

contains

boolean contains(java.net.URI ontologyURI)
Determines if there is an ontology with the specified URI that is managed by this manager.

Parameters:
ontologyURI - The URI of the ontology to test for
Returns:
true if there is an ontology with the specified URI that is managed by this manager, otherwise false.

getOntology

OWLOntology getOntology(java.net.URI ontologyURI)
                        throws UnknownOWLOntologyException
Gets a previously loaded/created ontology that corresponds to the specified ontology URI.

Parameters:
ontologyURI - The URI of the ontology to be obtained (this is not the physical URI of the ontology).
Returns:
The ontology that has the specified URI.
Throws:
UnknownOWLOntologyException - if there isn't an ontology in this manager which has the specified URI.

getImportedOntology

OWLOntology getImportedOntology(OWLImportsDeclaration declaration)
Given an imports declaration, obtains the ontology that this imports has been resolved to.

Parameters:
declaration - The declaration that points to the imported ontology.
Returns:
The ontology that the imports declaration resolves to, or null if the imports declaration could not be resolved to an ontology, because the ontology was not imported.

getImports

java.util.Set<OWLOntology> getImports(OWLOntology ontology)
                                      throws UnknownOWLOntologyException
Gets the set of ontologies that are directly imported by the specified ontology.

Parameters:
ontology - The ontology whose direct imports are to be retrieved.
Returns:
A set of OWLOntology instances that represent the direct imports of the specified ontology. If, for what ever reason, an imported ontology could not be loaded, then it will not be contained in the returned set of ontologies.
Throws:
UnknownOWLOntologyException - if there isn't an ontology in this manager which has the specified URI.

getImportsClosure

java.util.Set<OWLOntology> getImportsClosure(OWLOntology ontology)
                                             throws UnknownOWLOntologyException
Gets the imports closure for the specified ontology.

Parameters:
ontology - The ontology whose imports closure is to be retrieved.
Returns:
A Set of ontologies that contains the imports closure for the specified ontology. This set will also include the specified ontology. Example: if A imports B and B imports C, then calling this method with A will return the set consisting of A, B and C. If, for what ever reason, an imported ontology could not be loaded, then it will not be contained in the returned set of ontologies.
Throws:
UnknownOWLOntologyException - if there isn't an ontology in this manager which has the specified URI.

applyChanges

java.util.List<OWLOntologyChange> applyChanges(java.util.List<? extends OWLOntologyChange> changes)
                                               throws OWLOntologyChangeException
Applies a list of changes to some or all of the ontologies that are managed by this manager. The changes will be applied to the appropraite ontologies.

Parameters:
changes - The changes to be applied.
Returns:
The changes that were actually applied.
Throws:
OWLOntologyChangeException - If one or more of the changes could not be applied. See subclasses of ontology change exception for more specific details.

addAxioms

java.util.List<OWLOntologyChange> addAxioms(OWLOntology ont,
                                            java.util.Set<? extends OWLAxiom> axioms)
                                            throws OWLOntologyChangeException
A convenience method that adds a set of axioms to an ontology. The appropriate AddAxiom change objects are automatically generated.

Parameters:
ont - The ontology to which the axioms should be added.
axioms - The axioms to be added.
Returns:
A list of ontology changes that represent the changes which took place in order to add the axioms.
Throws:
OWLOntologyChangeException

addAxiom

java.util.List<OWLOntologyChange> addAxiom(OWLOntology ont,
                                           OWLAxiom axiom)
                                           throws OWLOntologyChangeException
A convenience method that adds a single axioms to an ontology. The appropriate AddAxiom change object is automatically generated.

Parameters:
ont - The ontology to add the axiom to.
axiom - The axiom to be added
Returns:
A list of ontology changes that represent the changes that actually took place.
Throws:
OWLOntologyChangeException

applyChange

java.util.List<OWLOntologyChange> applyChange(OWLOntologyChange change)
                                              throws OWLOntologyChangeException
A convenience method that applies just one change to an ontology that is managed by this manager.

Parameters:
change - The change to be applied
Returns:
The changes that resulted of the applied ontology change.
Throws:
OWLOntologyChangeException - If the change could not be applied. See subclasses of ontology change exception for more specific details.

createOntology

OWLOntology createOntology(java.net.URI ontologyURI)
                           throws OWLOntologyCreationException
Creates a new (empty) ontology that has the specified ontology URI.

Parameters:
ontologyURI - The URI of the ontology to be created. The ontology URI will be mapped to a physical URI in order to determine the type of ontology factory that will be used to create the ontology. If this mapping is null then a default (in memory) implementation of the ontology will most likely be created.
Returns:
The newly created ontology, or if an ontology with the specified URI already exists then this existing ontology will be returned.
Throws:
OWLOntologyCreationException - If the ontology could not be created.

loadOntology

OWLOntology loadOntology(java.net.URI ontologyURI)
                         throws OWLOntologyCreationException
Loads the ontology specified by the ontologyURI parameter. Note that this is NOT the physical URI that points to a concrete representation (e.g. an RDF/XML OWL file) of an ontology. The mapping to a physical URI will be determined by using one of the loaded OWLOntologyURIMappers.

Parameters:
ontologyURI - The ontology URI (sometimes called logical URI of the ontology to be loaded)
Returns:
The OWLOntology representation of the ontology that was loaded. If an ontology with the specified URI is already loaded then that ontology will be returned.
Throws:
OWLOntologyCreationException - If there was a problem in creating and loading the ontology.

loadOntologyFromPhysicalURI

OWLOntology loadOntologyFromPhysicalURI(java.net.URI uri)
                                        throws OWLOntologyCreationException
A convenience method that loads an ontology from a physical URI. If the ontology contains imports, then the appropriate mappers should be set up before calling this method.

Parameters:
uri - The physical URI which points to a concrete representation of an ontology.
Returns:
The ontology that was loaded.
Throws:
OWLOntologyCreationException - If the ontology could not be created and loaded.

loadOntology

OWLOntology loadOntology(OWLOntologyInputSource inputSource)
                         throws OWLOntologyCreationException
A convenience method that load an ontology from an input source. If the ontology contains imports then the appropriate mappers should be set up before calling this method.

Parameters:
inputSource -
Returns:
Throws:
OWLOntologyCreationException

reloadOntology

OWLOntology reloadOntology(java.net.URI ontologyURI)
                           throws OWLOntologyCreationException
Reloads an ontology that is already managed by this manager. If the manager does not already manage an ontology that has the specified URI, it will attempt to load the ontology.

Parameters:
ontologyURI - The URI of the ontology to be reloaded.
Returns:
The ontology which was reloaded
Throws:
OWLOntologyCreationException - If the ontology could not be reloaded.

removeOntology

void removeOntology(java.net.URI ontologyURI)
Attempts to remove an ontology. The ontology which is identified by the specified URI is removed regardless of whether it is referenced by other ontologies via imports statements.

Parameters:
ontologyURI - The URI of the ontology to be removed. If this manager does not contain an ontology identified by the specified URI then nothing happens.

getPhysicalURIForOntology

java.net.URI getPhysicalURIForOntology(OWLOntology ontology)
                                       throws UnknownOWLOntologyException
Gets the physical URI for a given ontology. This will either be the physical URI from where the ontology was obtained from during loading, or the physcial URI which was specified (via a mapper) when the (empty) ontology was created. Note that this may not correspond to the first physical URI found in the list of mappings from ontology URI to physcial URI. The reason for this is that it might not have been possible to load the ontology from the first physical URI found in the mapping table.

Parameters:
ontology - The ontology whose physical URI is to be obtained.
Returns:
The physical URI of the ontology.
Throws:
UnknownOWLOntologyException - If the specified ontology is not managed by this manager.

setPhysicalURIForOntology

void setPhysicalURIForOntology(OWLOntology ontology,
                               java.net.URI physicalURI)
                               throws UnknownOWLOntologyException
Overrides the current physical URI for a given ontology. This method does not alter the URI mappers which are installed, but alters the physical URI of an ontology that has already been loaded.

Parameters:
ontology - The ontology that has already been loaded.
physicalURI - The new physical URI of the ontology.
Throws:
UnknownOWLOntologyException - If the specified ontology is not managed by this manager.

getOntologyFormat

OWLOntologyFormat getOntologyFormat(OWLOntology ontology)
                                    throws UnknownOWLOntologyException
Gets the ontology format for the specified ontology.

Parameters:
ontology - The ontology whose format it to be obtained.
Returns:
The format of the ontology.
Throws:
UnknownOWLOntologyException - If the specified ontology is not managed by this manager.

setOntologyFormat

void setOntologyFormat(OWLOntology ontology,
                       OWLOntologyFormat ontologyFormat)
                       throws UnknownOWLOntologyException
Sets the format for the specified ontology.

Parameters:
ontology - The ontology whose format is to be set.
ontologyFormat - The format for the specified ontology.
Throws:
UnknownOWLOntologyException

saveOntology

void saveOntology(OWLOntology ontology)
                  throws OWLOntologyStorageException,
                         UnknownOWLOntologyException
Saves the specified ontology. The ontology will be saved to the location that it was loaded from, or if it was created programmatically, it will be saved to the location specified by an ontology URI mapper at creation time. The ontology will be saved in the same format which it was loaded from, or the default ontology format if the ontology was created programmatically.

Parameters:
ontology - The ontology to be saved.
Throws:
OWLOntologyStorageException - An exception will be thrown if there is a problem with saving the ontology, or the ontology can't be saved in the format it was loaded from.
UnknownOWLOntologyException

saveOntology

void saveOntology(OWLOntology ontology,
                  java.net.URI physicalURI)
                  throws OWLOntologyStorageException,
                         UnknownOWLOntologyException
Saves the specified ontology, using the specified URI to determine where/how the ontology should be saved.

Parameters:
ontology - The ontology to be saved.
physicalURI - The physical URI which will be used to determine how and where the ontology will be saved.
Throws:
OWLOntologyStorageException - If the ontology cannot be saved.
UnknownOWLOntologyException

saveOntology

void saveOntology(OWLOntology ontology,
                  OWLOntologyFormat ontologyFormat)
                  throws OWLOntologyStorageException,
                         UnknownOWLOntologyException
Throws:
OWLOntologyStorageException
UnknownOWLOntologyException

saveOntology

void saveOntology(OWLOntology ontology,
                  OWLOntologyFormat ontologyFormat,
                  java.net.URI physcialURI)
                  throws OWLOntologyStorageException,
                         UnknownOWLOntologyException
Throws:
OWLOntologyStorageException
UnknownOWLOntologyException

saveOntology

void saveOntology(OWLOntology ontology,
                  OWLOntologyOutputTarget outputTarget)
                  throws OWLOntologyStorageException,
                         UnknownOWLOntologyException
Throws:
OWLOntologyStorageException
UnknownOWLOntologyException

saveOntology

void saveOntology(OWLOntology ontology,
                  OWLOntologyFormat ontologyFormat,
                  OWLOntologyOutputTarget outputTarget)
                  throws OWLOntologyStorageException,
                         UnknownOWLOntologyException
Throws:
OWLOntologyStorageException
UnknownOWLOntologyException

addURIMapper

void addURIMapper(OWLOntologyURIMapper mapper)
Adds a mapper to this manager. The mapper is used to obtain physical URIs for ontology URIs (logical URIs). The mapper will be added so that it is given the highest priority (i.e. it will be tried first).

Parameters:
mapper - The mapper to be added.

removeURIMapper

void removeURIMapper(OWLOntologyURIMapper mapper)
Removes a mapper from this manager.

Parameters:
mapper - The mapper to be removed.

clearURIMappers

void clearURIMappers()
Clears any installed URI mappers


addOntologyFactory

void addOntologyFactory(OWLOntologyFactory factory)
Adds an ontology factory that is capable of creating an ontology given a particular physical URI.

Parameters:
factory - The factory to be added.

removeOntologyFactory

void removeOntologyFactory(OWLOntologyFactory factory)
Removes a previously added factory.

Parameters:
factory - The factory to be removed.

addOntologyStorer

void addOntologyStorer(OWLOntologyStorer storer)
Add an ontology storer.

Parameters:
storer - The storer to be added

removeOntologyStorer

void removeOntologyStorer(OWLOntologyStorer storer)
Removes a previously added storer

Parameters:
storer - The storer to be removed

addOntologyChangeListener

void addOntologyChangeListener(OWLOntologyChangeListener listener)
Adds an ontology change listener, which listens to all changes for all ontologies. To customise the changes/ontologies that are listened to, the addOntologyChangeListener method which takes a broadcast strategy as an argument should be used.

Parameters:
listener -

addOntologyChangeListener

void addOntologyChangeListener(OWLOntologyChangeListener listener,
                               OWLOntologyChangeBroadcastStrategy strategy)
Adds an ontology change listener, which listens to ontology changes. An ontology change broadcast strategy must be specified, which determines the changes that are broadcast to the listener.

Parameters:
listener - The listener to be added.
strategy - The strategy that should be used for broadcasting changes to the listener.

removeOntologyChangeListener

void removeOntologyChangeListener(OWLOntologyChangeListener listener)
Removes a previously added listener.

Parameters:
listener - The listener to be removed.

makeLoadImportRequest

void makeLoadImportRequest(OWLImportsDeclaration declaration)
                           throws OWLOntologyCreationException
Requests that the manager loads an imported ontology that is described by an imports statement. This method is generally used by parsers and other kinds of loaders. For simply loading an ontology, use the loadOntologyXXX methods.

Parameters:
declaration - The declaration that describes the import to be loaded.
Throws:
OWLOntologyCreationException

setSilentMissingImportsHandling

void setSilentMissingImportsHandling(boolean b)
The default behaviour when an import cannot be loaded is to throw an exception. This completely stops the loading process. If it is desired that loading continues then this option can be set with this method.

Parameters:
b - true if loading should continue when an imported ontology cannot be loaded, other wise false. The default value is false.

isSilentMissingImportsHandling

boolean isSilentMissingImportsHandling()
Determines if silent missing imports handling is enabled.

Returns:
true if silent missing imports handler is enabled, otherwise false.

addMissingImportListener

void addMissingImportListener(MissingImportListener listener)
In the case where silent missing imports handling is enabled, a listener can be attached via this method so that there is a mechanism that allows clients to be informed of the reason when an import cannot be loaded.

Parameters:
listener - The listener to be added.

removeMissingImportListener

void removeMissingImportListener(MissingImportListener listener)
Removes a previously added missing import listener.

Parameters:
listener - The listener to be removed.

addOntologyLoaderListener

void addOntologyLoaderListener(OWLOntologyLoaderListener listener)

removeOntologyLoaderListener

void removeOntologyLoaderListener(OWLOntologyLoaderListener listener)