Class AtomicDecomposition
java.lang.Object
org.semanticweb.owlapi.modularity.AtomicDecomposition
- All Implemented Interfaces:
HasAxioms
Class to represent the atomic decomposition of a set of axioms.
- Author:
- Marc Robin Nolte
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionAtomicDecomposition
(Stream<OWLAxiom> axioms) Constructs theAtomicDecomposition
for the given axiom base based on the module extraction anSyntacticLocalityModuleExtractor
provides by usingLocalityClass.STAR
.AtomicDecomposition
(Stream<OWLAxiom> axioms, Function<Stream<OWLAxiom>, ? extends ModuleExtractor> function) Constructs theAtomicDecomposition
for the given axiom base based on the module extraction theModuleExtractor
the givenFunction
supplies.AtomicDecomposition
(OWLOntology ontology) Constructs theAtomicDecomposition
for the given axiom base based on the module extraction anSyntacticLocalityModuleExtractor
provides by usingLocalityClass.STAR
.AtomicDecomposition
(OWLOntology ontology, Function<Stream<OWLAxiom>, ? extends ModuleExtractor> function) Constructs theAtomicDecomposition
for the given axiom base based on the module extraction theModuleExtractor
the givenFunction
supplies. -
Method Summary
Modifier and TypeMethodDescriptionReturns theAtomicDecomposition.Atom
associated with the givenOWLAxiom
.atoms()
axioms()
boolean
containsAxiom
(OWLAxiom axiom) Returns whether or not the givenOWLAxiom
is part of the axiom base of thisAtomicDecomposition
.moduleToSignatureOf
(OWLAxiom axiom) Returns the module within theaxioms()
with respect to the signature of the given axiom.
-
Constructor Details
-
AtomicDecomposition
Constructs theAtomicDecomposition
for the given axiom base based on the module extraction anSyntacticLocalityModuleExtractor
provides by usingLocalityClass.STAR
. This operation may take some time based on the ontology size and the used module extraction algorithm.- Parameters:
ontology
- TheOWLOntology
that is to be decomposed. Changes of the ontology will not be considered
-
AtomicDecomposition
public AtomicDecomposition(OWLOntology ontology, Function<Stream<OWLAxiom>, ? extends ModuleExtractor> function) Constructs theAtomicDecomposition
for the given axiom base based on the module extraction theModuleExtractor
the givenFunction
supplies. This operation may take some time based on the ontology size and the used module extraction algorithm.- Parameters:
ontology
- TheOWLOntology
that is to be decomposed. Changes of the ontology will not be consideredfunction
- The function used to build aModuleExtractor
. We recommend performing possible precalculations by the module extractor
-
AtomicDecomposition
Constructs theAtomicDecomposition
for the given axiom base based on the module extraction anSyntacticLocalityModuleExtractor
provides by usingLocalityClass.STAR
. This operation may take some time based on the ontology size and the used module extraction algorithm.- Parameters:
axioms
- The axiom base that is to be decomposed
-
AtomicDecomposition
public AtomicDecomposition(Stream<OWLAxiom> axioms, Function<Stream<OWLAxiom>, ? extends ModuleExtractor> function) Constructs theAtomicDecomposition
for the given axiom base based on the module extraction theModuleExtractor
the givenFunction
supplies. It must be ensured that it satisfies the properties required to be used for atomic decomposition, see "Modular Structures and Atomic Decomposition in Ontologies" by Del Vescovo et al, 2019. For example, one such module extraction algorithm is provided by the subclasses ofLocalityModuleExtractor
s. This operation may take some time based on the ontology size and the used module extraction algorithm.- Parameters:
axioms
- The axiom base that is to be decomposedfunction
- The function used to build aModuleExtractor
. We recommend performing possible precalculations by the module extractor
-
-
Method Details
-
atomOf
Returns theAtomicDecomposition.Atom
associated with the givenOWLAxiom
. ThoseAtomicDecomposition.Atom
s are computed when constructing theAtomicDecomposition
.- Parameters:
axiom
- TheOWLAxiom
whoseAtomicDecomposition.Atom
should be returned- Returns:
- The
AtomicDecomposition.Atom
as specified above - Throws:
IllegalArgumentException
- If the givenOWLAxiom
is not part of the axiom base of thisAtomicDecomposition
-
atoms
- Returns:
- The
AtomicDecomposition.Atom
s computed by thisAtomicDecomposition
-
axioms
-
containsAxiom
Returns whether or not the givenOWLAxiom
is part of the axiom base of thisAtomicDecomposition
. Runs in O(1).- Parameters:
axiom
- TheOWLAxiom
to check- Returns:
- Whether or not the given
OWLAxiom
is part of the axiom base of thisAtomicDecomposition
-
moduleToSignatureOf
Returns the module within theaxioms()
with respect to the signature of the given axiom. Those modules are computed when constructing theAtomicDecomposition
.- Parameters:
axiom
- The axiom for whose signature the precomputed module should be returned- Returns:
- The module as specified above
- Throws:
IllegalArgumentException
- If the given axiom is not part of the axiom base of thisAtomicDecomposition
-