@Override public boolean addOccurrence(ModifiableOntologyIndex index) { ElkAxiom reason = getOriginalAxiom(); boolean success = IndexedClassDecompositionRule.addRuleFor(this, index, reason); if (success) { success = IndexedClassFromDefinitionRule.addRuleFor(this, index, reason); if (success) { return true; } // else revert IndexedClassDecompositionRule.removeRuleFor(this, index, reason); } // else success = EquivalentClassFirstFromSecondRule.addRuleFor(this, index, reason); if (success) { success = EquivalentClassSecondFromFirstRule.addRuleFor(this, index, reason); if (success) { return true; } // else revert EquivalentClassFirstFromSecondRule.removeRuleFor(this, index, reason); } // all failed return false; }
@Override public boolean addOccurrence(ModifiableOntologyIndex index) { ElkAxiom reason = getOriginalAxiom(); boolean success = IndexedClassDecompositionRule.addRuleFor(this, index, reason); if (success) { success = IndexedClassFromDefinitionRule.addRuleFor(this, index, reason); if (success) { return true; } // else revert IndexedClassDecompositionRule.removeRuleFor(this, index, reason); } // else success = EquivalentClassFirstFromSecondRule.addRuleFor(this, index, reason); if (success) { success = EquivalentClassSecondFromFirstRule.addRuleFor(this, index, reason); if (success) { return true; } // else revert EquivalentClassFirstFromSecondRule.removeRuleFor(this, index, reason); } // all failed return false; }
@Override public boolean addOccurrence(ModifiableOntologyIndex index) { ElkAxiom reason = getOriginalAxiom(); boolean success = IndexedClassDecompositionRule.addRuleFor(this, index, reason); if (success) { success = IndexedClassFromDefinitionRule.addRuleFor(this, index, reason); if (success) { return true; } // else revert IndexedClassDecompositionRule.removeRuleFor(this, index, reason); } // else success = EquivalentClassFirstFromSecondRule.addRuleFor(this, index, reason); if (success) { success = EquivalentClassSecondFromFirstRule.addRuleFor(this, index, reason); if (success) { return true; } // else revert EquivalentClassFirstFromSecondRule.removeRuleFor(this, index, reason); } // all failed return false; }