... | ... | @@ -6,7 +6,7 @@ |
|
|
|
|
|
* You may experience faulty and unexpected behaviour such as deadlocks, exceptions etc. You may report any bugs you experience in our [feedback](http://isbi.aau.at/ontodebug/feedback). [We](http://isbi.aau.at/ontodebug/team) will try to fix them as soon as possible.
|
|
|
* There are still many features missing that we plan to implement ([see the list of open issues](https://git-ainf.aau.at/interactive-KB-debugging/debugger/issues)). If you have ideas for features that would be nice to have [we](http://isbi.aau.at/ontodebug/team) would be pleased if you [send us your request](http://isbi.aau.at/ontodebug/feedback).
|
|
|
* Please note that this plugin is a BETA ! **If you experience a faulty behaviour of your Protégé instance** (for example your Protege cannot start), it *may* be that this plugin causes the error. You can test this in the following way: delete the file called "*org.exquisite.protege-\<x.y.z>.BETA.jar*" in the "*plugins*" subdirectory of your Protege installation directory and restart Protégé (the *\<x.y.z>* represents the current version such as 0.1.8). In the same way you can also check other plugins if they are responsible for the fault. If this plugin is not causing the error you can later reinstall it.
|
|
|
* Please note that this plugin is a BETA ! **If you experience a faulty behaviour of your Protégé instance** (for example your Protege cannot start), it *may* be that this plugin causes the error. You can test this in the following way: delete the file called "*org.exquisite.protege-\<x.y.z>.BETA.jar*" in the "*plugins*" subdirectory of your Protege installation directory and restart Protégé (the *\<x.y.z>* represents the current version such as 0.1.9). In the same way you can also check other plugins if they are responsible for the fault. If this plugin is not causing the error you can later reinstall it.
|
|
|
|
|
|
<br><br>
|
|
|
# Installation
|
... | ... | @@ -14,7 +14,7 @@ |
|
|
These steps are necessary in order to run the plug-in:
|
|
|
* Download the latest version of Protégé Desktop from [http://protege.stanford.edu/](http://protege.stanford.edu/) and follow the installation instructions.
|
|
|
* Note that **the Debugger Plug-In is not compatible with Protégé version 4 and below**.
|
|
|
* Install the Ontology Debugger Plugin with Protégé's Update Function```File->Check for Plugins...``` and select *Ontology Debugger* ![installation_plugin](/uploads/ffe7bbbb76df22762af53737f8e2c8d6/image.png)
|
|
|
* Install the Ontology Debugger Plugin with Protégé's Update Function```File->Check for Plugins...``` and select *Ontology Debugger* ![installation_plugin](uploads/33434c843e816c208ded7ae26a77cca1/image.png)
|
|
|
* **As an alternative** you can also download the [latest jar-file](http://isbi.aau.at/ontodebug/plugin) of the *Ontology Debugger* and copy the jar-File into the ```plugins``` subfolder of your Protégé 5 desktop client.
|
|
|
* If your Protégé client is already running, you will have to restart the client to load the plugin.
|
|
|
* After your Protégé client has restarted you will see the additional menu entry ```Tools->Debug Ontology ...```
|
... | ... | @@ -140,7 +140,7 @@ While the Aquired Test Cases lists the answers the user has given in the current |
|
|
|
|
|
Note that the manual addition of test cases is not possible during a running debugging session.
|
|
|
|
|
|
![image](/uploads/f0258da8dd3919899a12ac518142a4a5/image.png)
|
|
|
![image](uploads/915fa70f983d70e0bd5dc8b5708c6f80/image.png)
|
|
|
|
|
|
*This screenshot shows a handcrafted non entailed test case next to two saved entailed test cases from a previous debugging session*
|
|
|
|
... | ... | @@ -170,7 +170,7 @@ In the Queries view you now will see these two axioms: |
|
|
|
|
|
Let us ignore these two axioms at first and let us concentrate on the lower part presenting the different **Possible Ontology Repairs**.
|
|
|
|
|
|
![possible_ontology_repairs](/uploads/d6e333cf0933dfa80e4c9dea86751442/image.png)
|
|
|
![possible_ontology_repairs](uploads/e75a14db1a4f8b9c7521a88a14db1077/image.png)
|
|
|
|
|
|
*Repairs are possible erroneous axioms - we are finished when we get one such repair*
|
|
|
|
... | ... | @@ -218,7 +218,7 @@ If she is not sure about the correct answer she can leave the question unanswere |
|
|
|
|
|
In our example we assume that both axioms are correct since only persons can have a degree, i.e. the domain of ```hasDegree``` is ```Person```, and we assume that only persons can be hard-working, i.e. the domain of ```isHardWorking``` is ```Person``` as well. Please note that as soon as the user answers/classifies one axiom the submit button becomes active - since, as previously stated, the user is not forced to answer all queries.
|
|
|
|
|
|
![step1](/uploads/9900673d5148eeecab6ec8030c26ef2e/image.png)
|
|
|
![step1](uploads/abb1f61f62633219456522baa2944f37/image.png)
|
|
|
|
|
|
*Answer both statements with YES and press the SUBMIT button*
|
|
|
|
... | ... | @@ -232,7 +232,7 @@ After the calculation has finished, the user is presented a new query and a new |
|
|
|
|
|
The given answers are listed as __Entailed Testcases__ in the __Acquired Test Cases View__ in the mid section, since the user answered with *YES*. Negatively answered statements are listed as __Non Entailed Testcases__.
|
|
|
|
|
|
![step2](/uploads/1069756f5b6e0b35355c23f18a7a6251/image.png)
|
|
|
![step2](uploads/532808b5187b6365619d4b24bf1202f1/image.png)
|
|
|
|
|
|
*A new query with a set of statements (including an inferred one) is presented to the user*
|
|
|
|
... | ... | @@ -242,7 +242,7 @@ Since the Ontology Debugger has not found a unique solution yet (i.e. there are |
|
|
|
|
|
**Note** that (1) performing adequate modifications to all the axioms in the obtained set of faulty axioms from the Possible Ontology Repair or (2) deleting all these axioms from the ontology is the only possible way of repairing the inconsistency / incoherency of the Input Ontology in the light of the query answers given during the debugging session. In other words, among all possible repairs of the Input Ontology, the one obtained at the end of the debugging session is the only one reflecting your desired domain model, i.e. in this case the domain model of Marsupials you believe is the correct one.
|
|
|
|
|
|
![finalstep](/uploads/bb475edda52ca38ac7bc75bbeec76a29/image.png)
|
|
|
![finalstep](uploads/5dc297a317e5e481f1fc71b5cbc492da/image.png)
|
|
|
|
|
|
*At the end of a debugging session the user gets notified that a Repair has been found*
|
|
|
|
... | ... | @@ -259,17 +259,17 @@ Note that the axioms ```Quokka SubClassOf Person```as well as ```Koala DisjointW |
|
|
|
|
|
The debugging session described in this tutorial can be seen in the following animation:
|
|
|
|
|
|
![ontodebug_in_action](/uploads/ba367c789d4becd83fff977a9ee6456e/ontodebug_in_action.gif)
|
|
|
![ontodebug_in_action](uploads/3de47c1f48960d7cc46f17ff55b5e118/ontodebug_in_action.gif)
|
|
|
|
|
|
*The animated debugging session described in the tutorial*
|
|
|
|
|
|
### Step 8: Repair the ontology
|
|
|
|
|
|
Once an ontology repair has been identified - either by the debugging process itself or as soon as the user identifies the problematic axioms during the debugging session by herself - the user can **repair** the problematic axioms by pressing the repair icon ![repair](/uploads/eca7e2ec3b3b3e8ca20d5444f51b5361/repair.png).
|
|
|
Once an ontology repair has been identified - either by the debugging process itself or as soon as the user identifies the problematic axioms during the debugging session by herself - the user can **repair** the problematic axioms by pressing the repair icon ![repair](uploads/9556d291f109780b76073c7bbf671bef/image.png).
|
|
|
|
|
|
The icon opens a repair interface to manually change or delete the problematic axioms in order to resolve the inconsistency or incoherency in the ontology.
|
|
|
|
|
|
![image](/uploads/d43f06ce1ada0126c56a9271bd5ac2a1/image.png)
|
|
|
![image](uploads/7ba3097a731b31fbe3f87a34e64ae457/image.png)
|
|
|
|
|
|
*The repair interface supports the user in the repair process by giving her the opportunity to delete and edit the axioms of the found repair.*
|
|
|
|
... | ... | @@ -277,7 +277,8 @@ The icon opens a repair interface to manually change or delete the problematic a |
|
|
|
|
|
In addition the user can get an explanation (if enabled) of why the currently selected axiom is problematic. There are two possible reasons why an axiom from the ontology repair may be problematic:
|
|
|
* either it is responsible for an inconsistency/incoherency
|
|
|
* or it is responsible for the entailment of an axiom that has been explicitely declared as non-entailed by the user.
|
|
|
* or it is responsible for the entailment of at least one axiom that has been explicitly declared as non-entailed by the user.
|
|
|
* Otherwise the axiom has been repaired.
|
|
|
|
|
|
Such an explanation is supposed to give the user a hint of how the selected axiom of a repair contributes to the faults and what to change in the axiom in order to obtain a correct ontology.
|
|
|
|
... | ... | @@ -285,7 +286,7 @@ From the example shown above the explanation for the selected axiom ``Quokka Sub |
|
|
|
|
|
#### Repairing
|
|
|
|
|
|
![repaired_axioms](/uploads/b410df8c4c15f4ea5d538424b4115414/image.png)
|
|
|
![repaired_axioms](uploads/67476034baaae769e32585f4549f9cd7/image.png)
|
|
|
|
|
|
We can either change the axioms in such a way that the fault is resolved by editing the axiom ![edit icon](/uploads/7deb9bce341b4cbacf707fd50a3fdf14/image.png) or simply by deleting the axiom ![delete icon](/uploads/2cccbc824322fc4fd8dd25ca8cd59a35/image.png). Deleted axiom are shown in grey color with a leading comment symbol (//).
|
|
|
|
... | ... | |