Displaying and editing ontology items
using a mind mapping paradigm.

A contribution to the development of web-protégé

Working Draft 10 July 2012

This version:

Henry Boccon-Gibod - hbg@democritique.org

See also :
specification of the displaying algorithm
list and roles of implied code resources in version 0
roadmap for the next version.

A) Context

Since time immemorial, humans categorize things they speak, and speak of these categories by linking them together by all kinds of relationships, and by giving them all kinds of attributes that a particular thing that one of these categories may have.

Some ancient philosophers named that "ontology".

As a drawing is considered more understandable than a thousand words, humans often formalize their ideas by drawing boxes and connecting them with arrows.
Some Indian mandalas are ancient forms of these practices, while the UML diagrams are modern avatars ...

While computers have invaded the world, there are softwares to describe ontologies, and others to formalize ideas. Unfortunately these are not the same.

A.1) Protégé1, for ontology edition

For editing OWL ontology, the different versions of Protégé provides a user interface based on one or more windows whose contents are synchronized. Each kind of entity is accessible through a tab (ontology classes, properties, individuals, forms and plugins).

Some of these windows have a dynamic presentation, which depends on the ontology itself: the editing of individuals and their forms of individual editions require such dynamic functionality.

The aspect of the software has something in common with those of development environments (IDE) such as NetBeans or Eclipse, which are tools for software development professionals.

As these kinds of environments are suitable for software design, they are less suitable for non professional end users that may use an ontology editor such as Protégé.

In the case of ontology development, there is no standard ergonomic présentaton its contents. Several plug-ins provide protection in different parts of graphical presentations of ontology. it is not possible to edit the ontology directly on these graphic presentations.

A.2) Edition of mind maps to describe things.

There are several tools available that are dedicated to publishing graphics ideas, called "mind mapping" softwares. The purpose of such softwares is to build models of ideas linked together, forming a graph on which you can easily navigate. The most advanced of these softwares allow you to associate external links and comments to each idea.

Usually the user interface of these kinds of software uses the concept of "current idea", while disclosing only a subset of the graph idea centered on the current idea, around which the ideas that are directly related are displayed with different ways to draw these graphic links.

As the use of such software is fairly intuitive, they are often used by many users, professionals or not, in many fields of knowledge

A major drawback of these systems is due to the weakness of their metamodel, which do not allow the description of "what is", "by definition",an "ontology".

B) Static ontology publication

An ontology is actually a kind of graph, of which all elements may be locally displayed in a same way as do a "mind mapping" software.

In order to allow intuitive navigation inside a published ontology, a transformation tool has been built which produces presentations of each ontology entity in a "mind map" style .

The results are XML transformations from OWL towards a set of XHTML files, each of them includes a SVG drawing of presentation of an element of the ontology. The transformation provides one XHTML file for each ontology element. Hyperlinks are set that allow navigation from one element to the window of another one.

In a way it is an attempt to realize what Tim Berners Lee said :

"People keep asking what Web 3.0 is. I think maybe when you've got an overlay of scalable vector graphics – everything rippling and folding and looking misty — on Web 2.0 and access to a semantic Web integrated across a huge space of data, you'll have access to an unbelievable data resource..."

— Tim Berners-Lee, A 'more revolutionary' Web, 2006

An example of a publication window is given hereafter :

Such a publication is accessible at the adress :


That publication provides mainly the following features :

- The displayed graph respects stable presentation rules that depends of the kind of the current element (class, property, individuals...). That allows the reading in a systematic and easy way . (the superclasses are on the upper left, range properties on the upper right etc.)

- The metadata and annotations are displayed on the top (before the svg frame). In these meta data the comments are considered as are in a wiki the content text, i.e. some creolic tagging conventions are used in order to allow introduction of titles, of some hyperlinks and of images.

- The datatypeproperties with AnyURI types and which values are ended by classical suffixes (such as mp3, jpg, png, or even xml3d) are interpreted, with introducing a frame between the comments and the svg frame, in order to display that URL content.

C) Critique of this state of the art

As efficient is that result, which allows the creation of kinds of small encyclopedia based on semantic web language , it is actually rather based on the« Web 1.0 » than on the « Web 2.0 ». it is only a set of static web pages interconnected .

Some readers of these publications of ontologies asked if it would be possible to directly modify what is published, as they can do this using wiki technology, for example on wikipedia.

These suggested features imply anything "Protégé" offers, in a multi-user context, using a web browser on the client side, as when viewing a static publication of an ontology.

The dynamic edition of OWL ontologies would solve meanwhile a drawback of the static publication, which is the publication process itself that can take a long time, and that is today required for any ontology modification.

D) Web-protégé

The web-protégé layer on protégé-server that is developped by the Stanford University provides the suitable environment in order to realize that requirement of a "mind mapping" ontology editor.

For its client side The current beta test version of web-protégé uses the gwt library from Google, that implements protégé frames as portlets developped in java, from which gwt generates corresponding javascript functions.

As it is, the code of web-protégé allows the introduction of new portlets without significant modification of its existing resources.

Web-protégé allows a multi user access and edition of common structured knowledge databases, through web navigators.

With all its existing features, Web-protégé allows the development of most of the above suggested features with a reasonable amount of effort. That may provide to its existing users the new ergonomic features as an option for the use and edition of their existing databases.

The current development creates a new portlet named « graph visualization portlet » which presents a local graphic view on a current item. Typically the display of user interface will be as follow :

The idea is that any item of an ontology is displayed as a "current item", around which anything that is directly related to it is placed, and linked to it by a "curved Bezier leg".

The current window is typically an XHTML page with a set of portlet frames,

A portlet on the top displays the metadata of the current item (current ontology, ) the logo, a research engine field, an icon for an help link.

Below the previous one a portlet displays annotations of the current item (rdf:ID, item rdfs:label(s) rdfs:comment).

Below the previous one, we suggest an optionnal portlet that displays a html5 canvas element in order to display the content of a datatypeProperty with AnyURI type and which is an image, a video or a 3D model (URL ending with corresponding identified suffixes).

The portlet on the left is the current Class tree. We suggest that it may become a "Tbox" tree, (extension of the current Class tree) which displays the full Tbox hierarchy of the ontology including classes, datatypeProperties, objectProperties, and swrl rules.

The portlet on the right of the class tree is the graph visualization portlet, which displays in svg the graph of the current item, centered on that current item. It may be of any kind, class, property, individual, or swrl rule.

The Class tree and the graph visualization portlet are synchronized : to clic in either one or other portlet makes it the main one, ( and the other portlets are updated in function of the status of that main one.

By clicking on any items around the current one In the graph visualization portlet, it becomes the current item, and is displayed again with all its neighbours.

The layout of the map is designed in order to allow an obviously easy reading.

The layout depends on the kind of natural language used (i.e. from left to right for main latin and anglo-saxon languages, from right to left for semitic languages)

The semiotic symbols on side of items (such as C in a yellow circle, "I" in a red losange P in a blue square etc.) allow recognition of classes, individuals, properties etc.

The principle of the layout is to predefine five abscissa values​​, (such as Xone, Xtwo,...Xfive), the third (Xthree) is allocated to the current element.

The ordinate of the current item depends on the number of neighbours elements that will be displayed above it on the left and on the right of it.

While the current item is always displayed in the middle of the portlet, there are some slight differences between layout of classes, individuals and property portlets.

A typical Class is displayed as below :

A typical Description Logic rule equivalent of a Class is displayed as below :

A typical datatypeProperty is displayed as below :

A typical objectProperty is displayed as below :

A typical individual is displayed as below :

Look at the associated documents :

specification of the displaying algorithm of the current version

list and roles of implied code resources

roadmap for the next version.

1 Protégé and WebProtégé are national resources for biomedical ontologies and knowledge bases supported by the National Institute of General Medical Sciences
Protégé is a core component of The National Center for Biomedical Ontology
Copyright © 2012 Stanford Center for Biomedical Informatics Research