|
|
# Protégé Debugger Plug-In
|
|
|
|
|
|
This page describes the
|
|
|
[Protégé Debugger Plug-In](/uploads/14b0041bfa33146eb10283d795b745de/org.exquisite.protege-1.0-SNAPSHOT.jar)
|
|
|
|
|
|
**NOTE: THIS PLUG-IN IS STILL IN DEVELOPMENT, VERY PROBABLY YOU WILL EXPERIENCE FAULTY AND UNEXPECTED BEHAVIOUR SUCH AS DEADLOCKS**
|
|
|
# IMPORTANT NOTE:
|
|
|
This plug-in is still in development! Very probably you will experience faulty and unexpected behaviour such as deadlocks, etc. Please use our issue tracking system to report any bugs you observe to us. We will try to remove them as soon as possible. Thanks!
|
|
|
|
|
|
# Installation
|
|
|
#### Prerequisites
|
|
|
These requirements are necessary in order to run the plugin:
|
|
|
* The most recent Protégé Desktop Version. Please download it from [http://protege.stanford.edu/](http://protege.stanford.edu/) and follow the installation instructions. Please not that is recommended to use version 5. The Protégé Debugger Plug-In is not compatible with version 4.
|
|
|
* The [Protégé Debugger Plug-In](/uploads/14b0041bfa33146eb10283d795b745de/org.exquisite.protege-1.0-SNAPSHOT.jar)
|
|
|
|
|
|
#### Some other plugins are necessary
|
|
|
Our plugin requires at least one reasoner. Protege 5 comes already with HermiT, but you can also install other reasoners like FaCT++ or Pellet. Installing plugins in Protégé is done by selecting *File->Check for plugins...*. After installing additional reasoner plugins you will have to restart Protégé.
|
|
|
These steps are necessary in order to run the plug-in:
|
|
|
* Download the most recent 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.
|
|
|
* Download the [Protégé Debugger Plug-In](/uploads/14b0041bfa33146eb10283d795b745de/org.exquisite.protege-1.0-SNAPSHOT.jar) and copy it into the plug-ins subfolder of your Protégé 5 desktop client. If your Protégé client is running, please restart it to load the Plug-In. You should see now a new tab called Exquisite Debugger!
|
|
|
|
|
|
#### Install the Protégé Plugin
|
|
|
Copy the [Protégé plug-in](/uploads/14b0041bfa33146eb10283d795b745de/org.exquisite.protege-1.0-SNAPSHOT.jar) into the plugins subfolder of your Protégé 5 desktop client. If your Protégé client is running, please restart it to load the Plug-In. You should see now a new tab called Exquisite Debugger!
|
|
|
#### Solver plug-ins are necessary
|
|
|
Our plug-in requires at least one reasoner. Protege 5 comes already with HermiT, but you can also install other reasoners like FaCT++ or Pellet. Installing plug-ins in Protégé is done by selecting *File->Check for plug-ins...*. After installing additional reasoner plug-ins you will have to restart Protégé.
|
|
|
|
|
|
![ExquisiteDebuggerTab](/uploads/a25cb9d39e0523e0b9ddfdd83928e50e/ExquisiteDebuggerTab.PNG)
|
|
|
|
|
|
# How to use the Protégé Debugger Plug-In
|
|
|
Let us load an ontology (*File->Open File*)!
|
|
|
|
|
|
For this document we are using [our example ontology](/uploads/f100242ac5e8c655833a21e3ec9143e6/running_example_annotated.owl) with explicit declaration of axioms (the _diagnoses model_) that are possibly faulty (we name them the _knowledge base_), axioms which are correct (or the _background knowledge_) as well as entailed and not entailed axioms, which must or must not be concluded from the diagnoses model. You will see this explicit declaration in our Ontolgy Debug Tab.
|
|
|
For this document we are using [our example ontology](/uploads/f100242ac5e8c655833a21e3ec9143e6/running_example_annotated.owl) with explicit declaration of axioms (the _diagnoses model_) that are possibly faulty (we name them the _knowledge base_), axioms which are correct (or the _background knowledge_) as well as entailed and not entailed axioms, which must or must not be concluded from the diagnoses model. You will see this explicit declaration in our Ontology Debug Tab.
|
|
|
|
|
|
#### The Exquisite Ontology Debugging Tab
|
|
|
Open the Exquisite Ontology Debug Tab (*Exquisite Debugger -> Open Exquisite Ontology Debug Tab*).
|
|
|
![debugger](/uploads/b18b3ea12f8ee4e7e14b07676abbc080/debugger.PNG)
|
|
|
|
|
|
# Diagnoses
|
|
|
With this tool we can search for diagnoses. But first we have to configure which reasoner we want to use for the diagnoses search. Select *Reasoner->and a preferered reasoner*
|
|
|
With this tool we can search for diagnoses. But first we have to configure which reasoner we want to use for the diagnoses search. Select *Reasoner->and a preferred reasoner*
|
|
|
|
|
|
#### Options for diagnoses
|
|
|
Next let us see what option we do have for the diagnoses search. Select *Exquisite Debugger->Options*
|
|
|
|
|
|
![options_diagnoses](/uploads/085d60225ca537dd5df02a8e543e9086/options_diagnoses.PNG)
|
|
|
|
|
|
* As diagnoses engine we can choose between Juncker's QuickXPlain (default) and Reiter's HS-Tree and HS-DAG. Please note that with HS-Tree and HS-DAG we can present the minimal conflict set too.
|
|
|
* As diagnoses engine we can choose between Inv-QuickXPlain (default) as well as HS-Tree and HS-DAG. The first algorithm computes diagnoses directly, i.e. without computation of minimal conflicts, and must be used if you want to find only a few diagnoses very fast. The other two algorithms are based on computation of conflicts and are preferable if you want to use the interactive version of our debugger.
|
|
|
* Next we can choose how many diagnoses we want to calculate at most (default is 9). Please note that the higher the number the more time is required to calculate depending on the complexity of the ontology.
|
|
|
* If we have a consistent ontology we can reduce the incoherency to inconsistency and by option can extract star modules for that case.
|
|
|
* If you want to debug an incoherent ontology, the process quite often can be speed up by reducing the incoherency to inconsistency -- by adding a new individual to every unsatisfiable class -- and by replacing the initial ontology with a set of "star" modules. Both options are selected by default.
|
|
|
|
|
|
#### The search for diagnoses
|
|
|
Once we are happy with our preferences we can start the *Search Diagnoses* button and hopefully we will get some diagnoses in reasonable time.
|
|
|
Once you set up the preferences, you can start the search by clicking the *Search Diagnoses* button. Note that the process might take a while for large ontologies. Currently we are working on a design of a window informing you about the progress of the search.
|
|
|
|
|
|
In our example we will get these diagnoses:
|
|
|
![diagnoses](/uploads/216e58d304370983784d2b4d480777e1/diagnoses.PNG)
|
|
|
|
|
|
|
|
|
_Please note_: when you want to select another reasoner for diagnoses calculation you have to choose *Exquisite Debugger->Options* once to make the reasoner selection effective.
|
|
|
_Please note_: when you want to select another reasoner for diagnoses calculation you have to choose *Exquisite Debugger->Options* once to make the reasoner selection effective (known bug).
|
|
|
|
|
|
# Queries
|
|
|
Using the diagnoses we can interview the expert if some axioms are entailed or not entailed. This interaction is possible with the Exquisite Interactive Debugging Tab
|
... | ... | @@ -62,8 +57,8 @@ Select *Exquisite Debugger->Options* |
|
|
|
|
|
![options_queris](/uploads/38acca6a7fdda1f01cfa0e926b549825/options_queris.PNG)
|
|
|
|
|
|
We can define the minmal and maximal number of queries to compute. If the maximal number is smaller than the minimal, maximal equals minimal.
|
|
|
Next we can define if we want to enrich the queries, set the sort criterion, a requirements measurement and some threasholds (a detailled description of these options will follow soon).
|
|
|
We can define the minimal and maximal number of queries to compute. If the maximal number is smaller than the minimal, maximal equals minimal.
|
|
|
Next we can define if we want to enrich the queries, set the sort criterion, a requirements measurement and some thresholds (a detailed description of these options will follow soon).
|
|
|
|
|
|
### Ask the expert
|
|
|
If we have set the options and did get some diagnoses, we can press the *Get Query* button to generate a query.
|
... | ... | |