From NeOn Wiki




Developed by Qiu Ji, Yiorgos Trimponias, Peter Haase
Review not available
Status not available
Last Update 12.11.2008
Current Version [[current version:= <ask format="template" template="CurrentVersion" limit="1" searchlabel="" sort="version number" order="descending" default="no version available"> 1.x/DIG *</ask>]]
Homepage not available
License EPL
NTKVersion 1.2.3

Reasoning Services (Coherency and Classification) through the DIG 1.1 Protocol

Functional Description

The purpose of the DIG Plugin is the implementation of the DIG Interface version 1.1. The DIG Description Logics Interface Version 1.1 is a specification for defining a new interface for DL Systems. It is effectively an XML Schema for a DL concept language along with ask/tell functionality. In two words, the DIG interface provides a standardized way to access and query a reasoner. The user initially chooses the desired action she is interested in. Then the ontology is translated into the DIG interface an sent to the reasoner along with the queries that have been posed. After the query processing inside the reasoner has taken place, the reasoner sends back to the user the response encoded in the DIG Interface and the user can extract the answer to her query. The interested reader is referred to the protocol specification for further information.

The entire concept language and tell/ask functionality is enough to capture every functionality that is usually provided by a reasoner. In the context of the use cases in the NeOn-Project the reasoning tasks that are of utmost importance to us are ontology coherency and classification. More concretely:

  • Ontology Coherency: The reasoner takes as input the (translated into the DIG protocol) ontology and for each concept it returns true or false, depending on whether the corresponding concept is satisfiable or unsatisfiable, respectively.
  • Classification: The reasoner takes as input the (translated into the DIG protocol) ontology and returns the inferred classification of the various concepts, as opposed to the explicit one that the user initially sees. Moreover, for every concept in the inferred hierarchy we get whether it is satisfiable or not.

It must be highlighted at this point that the DIG Description Logics Interface that has been partially implemented in this plugin does not come bound to any reasoner. Contrary to that, it only provides an interface to query any reasoner that supports the DIG Protocol. The motivation behind this is that the current plugin is a general-purpose plugin that is intended to be used with different reasoners, so we found it meaningful not to restrict it to a particular reasoner, but to rather provide the user with the flexibility to do that themselves, in full accordance with their needs.

Installation and Update

The plugin can be installed and updated via NeOn-Toolkit Update Site:

  • Within the NeOn-Toolkit open the Help-menu and select the entry Software Updates->Find and Install ....
  • Select Search for new features to install in the appearing window and click Next.
  • Then choose the NeOn-Toolkit Update Site and click Finish.
  • In the appearing window you can find the DIG plugin under the reasoning category. Select the feature of DIG Interface 1.0.0 and then click Next and follow the installation instructions shown by the toolkit.

User Documentation

In this section, we will show how to use the DIG plugin to achieve the aforementioned functionalities.

Specifying the Reasoner Preferences

Independent of the functionality that we are interested in we must first specify the reasoner IP address and port, since we do not a priori know where our reasoner is running. Indeed, any reasoner that implements the DIG interface 1.1 and additionally provides either of the functionalities under consideration can be used for the reasoning task. More specifically, we have:

1. The user interface for specifying the reasoner is the DIG Reasoner Setting preference page under the OWL Preferences in the preference dialog, which is accessible via the Window->Preferences menu group.

2. Setting the preferences: After invoking the view we specify the host name and the port of the reasoner and we then click the OK button, as depicted in Figure 1.


Figure 1: Setting the Reasoner Preferences.

How to use Ontology Coherency

1. The user interface for checking an ontology for coherency is a view of Coherency/Satisfiability.

2. How to invoke our view? To check an ontology for coherency, right-click the ontology in the Ontology Navigator in NeOn Toolkit and then select the item of Check ontology coherency. The view of Coherency/Satisfiability will be activated. At the same time, the logical and physical URIs of this ontology will be shown. Besides, we also show some information about the number of concepts and how many among them are unsatisfiable (see Figure 2).


Figure 2: Invoking the view.

3. Getting back the results: In the end, we get back the results of the coherency check. In case the ontology is not coherent, the "Unsatisfiable Concepts" button will be activated and by clicking on it we will get all unsatisfiable concepts in a table, as shown in Figure 3.


Figure 3: Getting back the results.

How to use Ontology Classification

1. The user interface for ontology classification is a view of Entailed Subsumption Hierarchy.

2. How to invoke our view? To produce the classification, right-click the ontology in the Ontology Navigator in NeOn Toolkit and then select the item of Produce Classification. The view of Entailed Subsumption Hierarchy will be activated. At the same time, the name of the project where the ontology belongs to and the logical URI of this ontology will be shown.

3. Getting back the results: In the end, we get back the results of the classification. The inferred hierarchy contains the taxonomies. Moreover, for each concept in the classification extra visual information is displayed on whether the concept is satisfiable or not. Specifically, satisfiable concepts can be distinguished from unsatisfiable concepts according to the image next to them, as shown in Figure 4.


Figure 4: A classification example.