1 Introduction

Debugging ontologies aims to remove unwanted knowledge in the ontology. This can be knowledge that leads to logical problems such as inconsistency or incoherence (semantic defects) or statements that are not correct in the domain of the ontology (modeling defects) (e.g., [1]). The workflow consists of several steps including the detection and localization of the defects and the repairing [2]. In the classical approaches for debugging the end result is a set of axioms to remove from the ontology that is obtained after detection and localization, and the repairing consists solely of removing the suggested axioms. However, first, these approaches are usually purely logic-based and therefore may remove correct axioms (e.g., [4]). Therefore, it is argued that a domain expert should validate the results of such systems. Furthermore, removing an axiom may remove more knowledge than necessary. Correct knowledge that is derivable with the help of the wrong axioms may not be derivable in the new ontology.

In this paper, we discuss one of two implemented systems based on the approach in [3]. The system supports an interactive repairing approach using weakening and completing to mitigate the negative effects of removing unwanted axioms in \({\mathcal{E}\mathcal{L}}\) ontologies. For formal definitions, the underlying algorithms and experimental results, we refer to [3].

2 Repairing system

We implemented a Protégé plugin for repairing based on the Algorithm C9 in [3]. Using this algorithm the user can repair all unwanted axioms at once, or one at a time by iteratively invoking this plugin, thereby allowing for two of the possible choices presented in [3]Footnote 1. We use the Mini-GALEN ontology, visualized in Fig. 1a as a running example for the use of the system. After loading the target ontology into Protégé, starting the built-in reasoner and entering the wrong axiom(s) by selecting left/right-hand concepts from the list of concepts in the ontology (Fig. 1b), the user starts a repairing by weakening the wrong axioms first.

Fig. 1.
figure 1

Ontology and ontology repairing wizard.

Weakening aims to mitigate the effect of removing wrong axioms by replacing them with correct weaker axioms. This means that a wrong axiom \(\alpha \) \(\sqsubseteq \) \(\beta \) would be replaced by a correct weaker axiom sb \(\sqsubseteq \) sp such that sb is a sub-concept of \(\alpha \) and sp is a super-concept of \(\beta \). In the weakening step, the set of sub-concepts of \(\alpha \) (sub) and the set of super-concepts of \(\beta \) (sup) are generated, thereby representing the possible choices for weaker axioms. The weaker axioms are visualized in two ways: (i) as a list of axioms and (ii) by the sub and sup sets. In the former case weakened axioms are chosen by clicking the Validate relations button, selecting the axioms in the list and clicking the Validate button. In the latter case the user can choose weakened axioms by clicking on a concept in the sub set and a concept in the sup set and validate the axiom by clicking the Validate button. The weakening step is finished by clicking the Weakening done button. The completion step is started using the Continue button.

Example. Figure 2a shows the sub and sup of the wrong axiom PathologicalProcess \(\sqsubseteq \) InflammationProcess. The weaker axiom PathologicalProcess \(\sqsubseteq \) NonNormalProcess is correct and can thus be selected by choosing the PathologicalProcess from sub and NonNormalProcess from sup (visualization) or by choosing from the axiom list as in Fig. 2b.

Fig. 2.
figure 2

Axiom weakening.

Completing aims to find correct axioms that are not derivable from the ontology yet and that would make a given axiom derivable. For the repairing, after a weakened axiom \(\alpha \) \(\sqsubseteq \) \(\beta \) is validated, the completion step finds correct axioms sp \(\sqsubseteq \) sb such that sp is a super-concept of \(\alpha \) and sb is a sub-concept of \(\beta \). If sp \(\sqsubseteq \) sb is added to the ontology, then \(\alpha \) \(\sqsubseteq \) \(\beta \) would be derivable. We compute two sets, source and target. These are similar to sup and sub, respectively, but exclude concepts that would introduce equivalence relations in the ontology. These sets represent the possible choices for completing axioms. These axioms are visualized in two ways: (i) as a list of axioms and (ii) by the source and target sets. In the former case completing axioms are chosen by clicking the Validate relations button, selecting the axioms in the list and clicking the Validate button. In the latter case the user can choose completing axioms by clicking on a concept in the source and a concept in the target and validate the axiom by clicking the Validate button. As adding completed axioms adds new knowledge to the ontology that was not earlier derivable, the system allows to find additional correct axioms by invoking the completion process againFootnote 2. Clicking the < and > buttons allows to work on the completing for other axioms.

Example. After the weakening step, we obtained the weakened axioms set {PathologicalProcess \(\sqsubseteq \) NonNormalProcess, InflammationProcess \(\sqsubseteq \) NonNormalProcess}. Fig. 3a shows the source and target sets of InflammationProcess \(\sqsubseteq \) NonNormalProcess. The axiom InflammationProcess \(\sqsubseteq \) PathologicalProcess is a correct axiom and was not derivable from the ontology yet. Adding this axiom (by using the visualization or by using the axiom list) makes the ontology more complete. Similar operations can be performed for the other axiom in the weakened axiom set. In this case no stronger axiom than PathologicalProcess \(\sqsubseteq \) NonNormalProcess would be found and thus this axiom is kept as is.

Fig. 3.
figure 3

Completing axioms and repairing process summary.

When all the desired axioms are added, clicking the Finish button closes this wizard and the new ontology is updated automatically. A summary panel is shown (Fig. 3b), displaying the original wrong axioms, the computed weakened axioms and the completing axioms. The final ontology is created by removing the wrong axioms and adding the completing axioms. The weakened axioms will be derivable from the final ontology.

3 Conclusion

In this paper, we introduced a tool for repairing wrong axioms in an ontology, which uses an interactive way that contains the removing, weakening and completing operations to preserve as much correct knowledge as possible to mitigate the influence of removing wrong axioms. To our knowledge it is the first system that combines all these operations. In the demonstration we show a repairing session for parts of the experiments in [3].