From NeOn Wiki


Developed by Klaas Dellschaft, José Monte, Hendrik Engelbrecht
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/Cicero *</ask>]]
Homepage [ 1.x/Cicero Website]
License EPL
NTKVersion 1.2.3

Discussing ontology elements and ontology changes in collaborative ontology engineering.


Functional Description

The main purpose of the Cicero plugin for the NeOn toolkit is to keep track of discussions between the developers and users of an ontology. While the actual discussions are held in the Cicero-Wiki on a central server (more details about the Cicero-Wiki), the toolkit plugin allows for establishing links between elements in an ontology (e.g. classes or properties) and discussions that influenced their design. These discussions are then used by the ontology developers for understanding the design rationale of specific ontology elements.

Altogether, the plugin supports the following functionality:

  • Start discussions from within the NeOn toolkit.
  • Establish provenance links between ontology elements and discussions that influenced their design.
  • Search discussions that are relevant for understanding the design rationale of specific ontology elements.
  • Show details of discussions in an integrated web browser.

Usage in an Ontology Engineering Project

In general, one can distinguish two different cases in which argumentation plays an important role in enabling collaboration between the participants of an ontology engineering project (this includes the developers but also the future users of an ontology):

  • First, there are activities during which argumentation data is actively created, e.g. by discussions between the participants. In this case, the argumentation framework has the role of structuring the discussion process, helping in systematically exploring possible solutions and capturing the pro and contra arguments. Argumentation support is then a means of having more efficient discussion and decision taking processes.
  • Second, there are activities where previously recorded discussions are used for understanding the design rationale of elements in the ontology network. For example, in the DILIGENT methodology the argumentation data created during the local adaptation of an ontology is used by the control board during the analysis and revision activity. In this case, recorded discussions are part of the ontology documentation.

The most important activities of an ontology engineering project during which discussion data may be actively created are the ontology specification, ontology conceptualization, ontology formalization and ontology implementation phases. All four activities require reaching a consensus between the participants about the requirements of the ontology network and how they should be implemented. But the recorded discussions may also be used for understanding the decisions made during previous activities (e.g. during ontology formalization one has to understand the decisions from the ontology conceptualization activity). Reaching a consensus or explaining decisions to collaborators is not only needed during the previously mentioned activities of the ontology development process (i.e. during building an ontology from scratch) but it may also be needed during reusing or reengineering ontological and non-ontological resources, or during the alignment with other ontologies.

Discussions are an important part of the ontology documentation, which should also refer to explanatory comments generated during the entire ontology building process. The recorded discussions help in keeping track of the design rationale all the way through the ontology engineering process, and keeping the design rationale up to date by amending it with additional arguments. It makes also sense that Cicero is used if only a single person is responsible for developing an ontology. In that case, the developer documents his/her design rationale either for future users of the ontology or for himself/herself if the corresponding part of the ontology has to be changed at a later point in time.

Recording discussions makes it easier to resume a previous activity in the ontology engineering process, if it turns out that a decision taken during that activity is underspecified or not appropriate. In this case, the discussion that led to the decision may be easily resumed because all stakeholders that participated in the decision taking process are identified by the recorded discussion. Resuming a discussion may additionally be useful during the maintenance phase of an ontology, e.g. if there were changes to the requirements that affected the decision.

In general, supporting the argumentation process is important in each situation where either several users collaboratively decide an issue or where a user by himself creates an ontology element that should be later used as input for the activity to be developed by another user. In the latter case, the collaboration is facilitated by enhanced and more complete ontology documentation.

Installation and Update

The Cicero plugin is provided as two different features that support either the annotation of OWL-ontologies or FLogic-ontologies. It is possible to install them in parallel. There is also an extended feature for OWL-ontologies which works with the Change Capturing of the Oyster plugin.

Installation and update via NeOn-Toolkit Update Site

If you want to install the Cicero-plugin:

  • 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 select the NeOn-Toolkit Update Site and click Finish.
  • In the appearing window you can find the Cicero-plugin under the argumentation category. Select the features of Cicero that you want to install (i.e. OWL and/or F-Logic support). Click Next and follow the installation instructions shown by the toolkit.

If you want to update from an older version of the Cicero-plugin:

  • Within the NeOn-Toolkit open the Help-menu and select the entry Software Updates->Find and Install.
  • Select Search for updates of the currently installed features in the appearing window and click Finish.
  • If updates are available, select the parts you want to update and click Next and follow the update instructions shown by the toolkit.

Manual installation and update

At the top of this page all available versions of the Cicero-plugin are listed. For manual installation, download the latest version of the plugins that you want to install (i.e. OWL and/or F-Logic support). After downloading, you have to extract the archive. After extracting the archive, you will see a plugins and features folder. Copy their content to the respective plugins and features folder of your NeOn-Toolkit installation. After manually installing the plugin you have to restart the NeOn-Toolkit.

User Documentation

The Cicero plugin is visible at two different locations in the NeOn toolkit. First, it provides an additional subpage for the entity properties of an ontology. The subpage is used for activating the Cicero support for that specific ontology. Second, the plugin extends the context menu for all elements in an ontology. The context menu can be used for creating new discussions, annotating ontology elements with already existing discussions and for showing a list of discussions annotated to the current ontology element. More details about the subpage and the context menu are available below.

Property Page of Ontologies

The Cicero-plugin provides a new (sub-)property page called Argumentation Settings for an (F-Logic or OWL) ontology element. You get this (sub-)property page by clicking on the label of the ontology in the Ontology Navigator (see picture below).


The property page provides a text field Cicero project URL. Here the user can enter a (valid) URL of the project in a Cicero-Wiki-installation in which the currently selected ontology should be discussed. The value entered in the text field can then be persistently saved in the datamodel by clicking on the "Save"-button.

For testing you can enter as the project URL.

Context Menu for Ontology Elements

The Cicero plugin extents the context menu of elements in an OWL and/or F-Logic ontology. You get the context menu by right-clicking on an ontology element. The context menu allows for annotating ontology elements with corresponding discussions and for showing a list of previously annotated discussions. Currently, the plugin supports the context menu for classes, individuals, object-, data- and annotation-properties (for OWL ontologies) and for concepts, individuals, attributes, relations, rules and queries (for F-Logic ontologies). The context menu contains the following entries:

  • Annotate with Issue with which the user is able to annotate the selected elements with an Issue-URL.
  • Create Issue with which the user is able to create a new issue on the Cicero-Wiki from within the Ne0n-Toolkit. The created issue is annotated for the selected ontology elements.
  • Show Issues with which the user can access a list of all direct and related issues for the currently selected ontology element.


Annotate with Issue

After clicking on the Annotate with Issue-menu entry the window shown in the picture below appears. It contains a text field in which the user can enter an Issue-URL. For testing, any URL of an issue in the Testproject might be used.


By clicking the OK-button the entered URL is annotated for all currently selected ontology elements. A dialog appears with a message that the URL has been successfully added.

Annotatewithissue success.jpg

Create Issue

After selecting the Create Issue-entry, a new window appears in which the user needs to enter his valid login data (login name and password) to the Cicero-Wiki. By activating the checkbox Remember me login the entered login data is stored in a local text file with encryption for the current ontology project. With this the user doesn't need to enter the login data the next time for the same ontology project.

If you are using as cicero project for testing, please use the login data listed in


After pressing the OK-button a new window opens. It contains two text fields for creating a new issue. The user needs to enter an issue title and optionally can also provide an issue description.


For sending the issue creation-request, the user needs to click on the OK-button.


Show Issues

If the user decides to select the Show Issues-entry, the window shown below appears.


It consists of two lists:

  • the first showing all issues directly annotated to the currently selected ontology element and
  • the second showing all related issues which are annotated in ontology elements having a certain relation to the currently selected ontology element.

Whenever a user selects an issue title in one of the lists, the corresponding description is shown in the textarea at the bottom. By double-clicking on an issue title in one of the lists, an external browser will be opened with the respective URL. Note that if your login data to the Cicero-Wiki is not yet known for the current ontology project, a window for entering the login-data will appear before the overview window is shown.

For details on how to use Cicero click here.

Context Menu for Oyster Change Elements

For the Change Capturing functionality of Oyster the corresponding Cicero-plugin provides a context-menu with the entries:

  • Annotate With Issue,
  • Create Issue and
  • Show Issues

like shown in the picture below.


Therefore the Cicero-plugin allows to annotate OMVChanges which are listed in the Changes List tables. Note that the context-menu is avaible for the following views of Change Capturing:

  • Approved View,
  • To Be Approved View,
  • Draft View and
  • To Be Deleted View.

The context-menu is not available for the Change Log View.

The provided functionality is the same as described in section Context Menu for Ontology Elements.

Architecture Description of integration with NeOn toolkit

Extension points

The following extension points are used within the plugin:

  • Eclipse extension points:
    • org.eclipse.ui.popupMenus
    • org.eclipse.ui.startup
  • NeOn toolkit extension points:
    • org.neontoolkit.gui.entityProperties

Cicero Plugin for Ontology Elements

The Cicero Plugin for Ne0n-Toolkit consists of three separate plugins:

  • org.neontoolkit.cicero which contains the ontology-independent functionality,
  • org.neontoolkit.cicero.flogic which contains the functionality needed for FLogic-ontologies and
  • org.neontoolkit.cicero.owl which contains the functionality needed for OWL-ontologies.

The plugins org.neontoolkit.cicero.flogic and org.neontoolkit.cicero.owl depend both on the general plugin org.neontoolkit.cicero.

Since version 1.0.1 the plugins are now available as parts of so called features. The features are:

  • FLogic-feature which contains the plugins org.neontoolkit.cicero and org.neontoolkit.cicero.flogic.
  • OWL-feature which contains the plugins org.neontoolkit.cicero and org.neontoolkit.cicero.owl.

Cicero Plugin for Oyster Changes

An extended OWL-Changes-feature is also available which provides functionality for the Change Capturing of Oyster. It contains the plugin org.neontoolkit.cicero.owl.changes which depends on the plugin org.neontoolkit.cicero.owl and the general plugin org.neontoolkit.cicero. Please note that you need to have the Oyster Plugins properly installed, especially the plugins org.neontoolkit.registry.api and org.neontoolkit.changelogging.

Intended Use in Case Study

The Electronic Invoice Management of the PharmaInnova cluster offers a good domain to test and evaluate the Cicero wiki and the Cicero plugin in the context of a collaborative scenario. PharmaInnova is a cluster that consists of several spanish pharmaceutical laboratories. In a collaboration process the participants of the PharmaInnova cluster are working to define a common invoice model which can be used for exchanging invoices between the different laboratories. Everytime a new member is joining the cluster, its invoice model has to be integrated into the already existing model of the PharmaInnova cluster. A further reason for creating a new version of the invoicing ontology may e.g. be changes in legal requirements for invoices.

Agreeing on a new version of the ontology is a difficult task because the different stakeholders in the development process are distributed over multiple locations. There exist many problems like organizing and coordinating face-to-face meetings with all stakeholders. One objective of using the Cicero wiki and plugin may thus be to reduce the costs and personal effort that are required for traveling. An additional benefit of using Cicero may be the improved documentation of the resulting ontology (see the section about how to use the plugin in an ontology engineering project).