WonderTools?
A comparative study of ontological engineering tools
(DRAFT-version)
A. J. Duineveld, R. Stoter, M. R. Weiden, B. Kenepa and V. R. Benjamins
Dept. of Social Science Informatics
University of Amsterdam
The Netherlands
e-mail: {duinevel, stoter, weiden, kenepa, richard}@swi.psy.uva.nl

Abstract:
Ontologies are becoming increasingly more important in a variety of different fields, such as intelligent searching on the web, knowledge sharing and reuse, knowledge management, etc. Therefore, we expect that the need for tools to support the construction of ontologies will increase significantly in the coming years. In this paper we investigate several of these tools. We evaluate the tools using two different ontologies: a simple one about people working and studying at a university, and a second, more complex one, about a university-study. The evaluation was conducted using a framework, which incorporates aspects of ontology building and testing, as well as cooperation with other users. Our conclusions are that the usefulness of the tools depends on the level of the users and the stage of development of the ontology.
 

“ Sadly true, but then it's probably still easier to use than Photoshop™....  We're not
   generally expecting plumbers and janitors to build ontologies.” [Comment of James
Rice, creator of Ontolingua].
1 Introduction

Since the beginning of the nineties ontologies have become a popular research topic investigated by several Artificial Intelligence research communities, including knowledge engineering, natural-language processing and knowledge representation. More recently, the notion of ontology is also becoming widespread in fields such as intelligent information integration, information retrieval on the Internet, and knowledge management. The reason for ontologies being so popular is in large part due to what they promise: a shared and common understanding of some domain that can be communicated across people and computers.
We expect that the need for ontologies, and therefore for tools supporting the creation of these ontologies, will increase. Because of this increase, several tools will be brought to “market” in the next few years. To give a good overview of the tools already available to users, we evaluated a number of these supporting tools.
Experience shows that often the bottleneck of building sharable ontologies lies more in the social process than in the technology (Benjamins, 1998). Therefore, tools for collaborative ontology engineering are important.
What are ontologies all about, and what do they intend to support? “Ontologies are content theories about the sorts of objects, and relations between objects that are possible in a specified domain of knowledge. They provide potential terms for describing our knowledge about the domain.” (Chandrasekaran et al., 1999). Two parts in this definition are important, namely ‘content theories of objects and relations’ and ‘domain knowledge’. The first is concerned with the whole of objects, let’s say parts in a domain, and the relations between them. The second important part is ‘domain knowledge’, and describes all the knowledge you have about some particular topic.
In this paper we describe the results of a project called: ‘WonderTools’ , concerned with an analysis of ontology-engineering tools with the aim of assisting users in selecting an appropriate tool for creating ontologies. The tools we considered in this project are:

In Section 2, we give background information relevant for this paper. In Section 3, the evaluation framework used will be explained. Then in Section 4, we introduce the different tools we have evaluated. The next section (Section 5) is concerned with the experiment, where we describe the ontologies we tried to build with the tools and how this was done. Finally, we present a discussion (Section 6) followed by the conclusions of our work (Section 7).

2 Background

Ontologies
The main motivation behind ontologies is that they allow for sharing and reuse of knowledge bodies in computational form. In the Knowledge Sharing Effort (KSE) project (Neches, 1991), ontologies are put forward as a means to share knowledge bases between various knowledge-based systems. The basic idea was to develop a library of reusable ontologies in a standard formalism that each system developer was supposed to adopt.
Originally, the term ontology comes from philosophy (it goes as far back a Aristotle's attempt to classify the things in the world) where it is employed to describe the existence of beings in the world. The philosopher Quine states that “what exists is that what can be quantified over” (Quine, 1961).  Artificial Intelligence (AI) deals with reasoning about models of the world. Therefore, it is not strange that AI researchers adopted the term ontology to describe what can be (computationally) represented of the world in a program.
Many definitions of ontologies have been put forward in the last decade, but one that characterizes best, in our opinion, the essence of an ontology is based on the related definitions in (Gruber, 1993) and (Borst, 1997): “An ontology is a formal, explicit specification of a shared conceptualization”. 'Conceptualization' refers to an abstract model of some phenomena in the world by having identified the relevant concepts of those phenomena. 'Explicit' means that the type of concepts used, and the constraints on their use are explicitly defined. For example, in medical domains, the concepts are diseases and symptoms, the relations between them are causal, and a constraint is that a disease cannot cause itself. 'Formal' refers to the fact that the ontology should be machine readable, which excludes natural language.  'Shared' reflects the notion that an ontology captures consensual knowledge, that is, it is not private to some individual, but accepted by a group.

CSCW
Computer-Supported Cooperative Work (CSCW) is a hot item today in both research and development. The idea behind it is that people should be able to work together in a group, but do not have to be at one place or time. “CSCW looks at how groups work and seeks to discover how technology (especially computers) can help them work” (Ellis et. al., 1991). The following statements can characterize CSCW:
 


A central point in CSCW is the notion of “GroupWare” (Ellis et. al., 1991). Because people should interact with each other by some means of a communication model, which is the same for all attendees, software packages have been constructed to help the interaction between the users. The programs and additional hardware are called “GroupWare”.  Ellis states in his article “The goal of GroupWare is to assist groups in communicating, in collaborating, and in coordinating their activities. […] We define GroupWare as: computer-based systems that support groups of people engaged in a common task (or goal) and that provide an interface to a shared environment.”
An example of CSCW we used for our project BSCW-server (Basic Support for Collaborate Work). This server, which is located in Germany, supports collaborative work over the Web. BSCW provides a 'shared workspace', which supports document upload, event notification, group management and much more. To access a workspace, group-members only need a standard Web browser and a login-name and password.

3 Evaluation framework

To evaluate the different ontological engineering tools, we specified a number of relevant criteria. We started out with the system evaluation framework of (Kabel, 1997), which is intended for the evaluation of software systems. Because we are evaluating a specific type of programs, we added a number of criteria.
We evaluate the tools on three dimensions. First there is a general dimension, which refers to the aspects of the tools that can also be found in other types of programs. This dimension refers to information about the user-interface and the different actions the user can perform. The second dimension, the ontology dimension, refers to ontology related issues found in the tools, such as the amount of help on ontology building and the high-level primitives provided. The last dimension is that of cooperation, which is used to evaluate the tool’s support for constructing an ontology by several people at different locations. Some tools provide extra functionality to support this. While with other tools, it is only possible to save the ontology in a certain format and exchange this code via email or ftp. To evaluate the tools on these dimensions, we used a checklist, which provides points to keep in mind while we used the tools to construct an ontology. The checklist consists of a number of questions for every dimension. Most questions can be answered by giving a grade for a certain aspect of the tool. The grades used are 1 to 10, with 1 being extremely bad and 10 being excellent. However, we were more interested in the explanation of why a certain grade was given, than the grade per se. Some questions just ask whether a certain option is available. These questions can be answered by yes or no. Again, we were more interested in the explanation. We used this approach, because we think that using a mathematical formula to compute scores for every aspect of the different tools would not give us more insight in the tools. Instead of that, we used the checklist to get an overview of the tool’s capabilities. Using these evaluations, we will compare certain aspects of different tools to each other.


Table 1: Evaluation framework

4 Ontological engineering tools

In this section we give brief overviews of the six different tools.

4.1 Ontolingua
The Ontolingua system (Farquhar et. al., 1997) was developed in the early nineties at KSL of Stanford University. The system consists of a server and a representation language. The Ontolingua server  is located at the University of Stanford; however, we used the mirror stationed in Nijmegen. The Ontolingua server provides a repository of ontologies, allows ontologies to be created and existing ontologies to be modified. The ontologies in the repository can be merged or included in a new ontology. This server is designed to allow several users to cooperate in developing an ontology. Interaction with the server is achieved by using a standard web browser to connect to the server.
The creation of a new ontology is made easier by the possibility to include (parts of) existing ontologies from a repository and the possibility to include primitives from a frame-ontology. This repository consists of a large number of ontologies from different fields. After completion of an ontology, the ontology can be added to the repository for possible reuse.
An important aspect of the Ontolingua system is the ability to design an ontology collaboratively. This allows different users from all over the world to work together in constructing a single ontology. In order to be able to do this, the server uses a notion of users and groups. The owner of an ontology can give certain groups of users read and write access to the ontology. It is also possible to work simultaneously on an ontology in a group session. The server will notify all other users whenever a user changes something.
The ontologies stored at the server can also be converted to a different format for use in other applications. This allows the users to use the Ontolingua server to create an ontology, export this ontology and then for instance use it for a CLIPS-based application. It is also possible to import ontology-definitions from a number of languages into the Ontolingua language.
The Ontolingua server can also be accessed by other programs that know how to use the ontologies stored in the Ontolingua language (Gruber, 1992). This allows intelligent agents to look up information in ontologies on the Ontolingua server. Because we focus on the use of the tools by humans, this aspect of the Ontolingua system will not be evaluated in this paper.

4.2 WebOnto
WebOnto  (Domingue, 1998) is, as the name suggests, fully accessible via the Internet. It has been developed by the Knowledge Media Institute of the Open University. “WebOnto was designed to support the collaborative browsing, creation and editing of ontologies. In particular, WebOnto was designed to provide a direct manipulation interface displaying ontological expressions using a rich medium. WebOnto was aimed to be easy-to-use, yet have facilities for scaling up to large ontologies. Finally, WebOnto was designed to complement the ontology discussion tool Tadzebao”. (Domingue, 1998) WebOnto is a mainly graphically orientated tool for constructing ontologies. “The language used to model the ontologies in WebOnto is OCML. OCML, which stands for Operational Conceptual Modeling Language, was originally developed in the context of the VITAL project to provide operational modeling capabilities for the VITAL workbench.” (Motta, 1997). The tool has a number of useful features, like saving diagrams of structures, viewing the relations, classes, rules etc. separately. Other features include for example, working cooperatively on ontologies, by the use of drawing, and using the broadcast and receive functions.

4.3 ProtégéWin
ProtégéWin  (Fergerson, 1998) is a Windows-based computer program, which should be installed locally. The program is meant for building ontologies of domain models, and has been designed by Stanford’s Medical Informatics Section. ProtégéWin has been developed to assist “software developers in creating and maintaining explicit domain models, and in incorporating those models directly into program code. The Protégé methodology, to which the tool belongs, allows system builders to construct software systems from modular components, including (1) reusable frameworks for assembling domain models and (2) reusable domain-independent problem-solving methods that implement procedural strategies for solving tasks” (Eriksson et. al., 1995).
The program consists of three major parts, which should be used interchangeably. First there is the ‘Ontology-editor’ which let you make your own ontology about a domain by just expanding a hierarchical structure, and including abstract or concrete classes and slots.
Based on the ontology built, ProtégéWin is able to generate a knowledge acquisition tool for entering the instances of the ontology (e.g. if the ontology is about university courses, than an instance could be course 215 about knowledge engineering). The KA-tool can be fine-tuned to the needs of a user by using the Layout-editor (see Figure 1).


Figure 1: ProtégéWin's different parts

The last part of the program is the ‘Layout-Interpreter’ which reads the output of the ‘Layout-Editor’ and shows the user an input-screen with a few buttons. These buttons can be used to make the instances for the classes and sub-classes. By clicking the ‘New’ button you can make a new instance. After this you will be asked to select a class to which the instance belongs, and then you can type in this new instance with its characteristics. The whole tool is graphical which is very usable for a naive user.

4.4 OntoSaurus
OntoSaurus  is a Web Browser for Loom (ISX, 1991) knowledge bases. It provides a graphical hyperlinked interface to Loom knowledge bases. OntoSaurus also provides limited editing facilities for Loom knowledge bases. However, its main function is browsing ontologies. In our project, we evaluated the editing facilities. The underlying knowledge representation language of OntoSaurus is Loom. Loom is a language and environment for constructing intelligent applications. “The heart of Loom is a knowledge representation system that is used to provide deductive support for the declarative portion of the Loom language. Declarative knowledge in Loom consists of definitions, rules, facts, and default rules. A deductive engine called a classifier utilizes forward-chaining, semantic unification and object-oriented truth maintenance technologies in order to compile the declarative knowledge into a network designed to efficiently support on-line deductive query processing.” Loom is a research project in the Artificial Intelligence research group at the University of Southern California's Information Sciences Institute.

4.5 ODE
ODE (Ontological Design Environment) (Fernandez, 1999) is an ontology construction tool, which interacts with users (ontology builders) at the conceptual level. This is in contrast with tools, like Ontolingua and OntoSaurus, which communicate at the symbol level (LOOM, Ontolingua). The motivation behind ODE is that humans are much better at formulating ontologies at the conceptual level. ODE provides ontology builders with a set of tables to be completed, such as concept name, attributes, values, subclass relations, etc. and generates automatically code for it, currently in Ontolingua and F-Logic (Kifer, 1995). ODE forms part of a methodology for the complete lifecycle of ontology building, called Methondology (Fernandez, 1999), developed at LAI of the Technical University of Madrid.

4.6 KADS22
KADS22  is a tool for supporting the construction of knowledge models according to the CommonKADS methodology (Schreiber, et al, 1994). Ontologies form part of such knowledge models (the other part being reasoning models). CommonKADS models are specified in CML (Conceptual Modeling Language). KADS22 is an interactive interface for CML. It provides an interactive graphical interface (much like the familiar Windows programs) with the following functionality: parsing CML files, pretty-printing, hypertext browsing, generation of the graphical notation, search, glossary generation, and HTML generation. KADS22 is under development at SWI of the University of Amsterdam.

5 Experimental set-up and results

This section covers the set-up of our research. As mentioned earlier, in the course of the experiment we have built two ontologies. The first ontology was a very simple one about the types of persons belonging to the academic world, such as students, PhD students, undergraduate students, assistant-, associate- and full professors, etc. These concepts were modeled using the isa relation (subclass relation) as illustrated in Figure 2 in OntoSaurus.  The aim of this exercise was to get acquainted with the various tools and to evaluate the amount of pre-knowledge needed to use the tools (see discussion section). Based on our experience (including the problems encountered), we made a brief evaluation report and sent that to the developers of the tools. The reason was to get additional explanation on the use of the tools and to prevent us from carrying on mis-interpretations of the tools to the second phase of our project.  (E.g. in some cases we thought that multiple inheritance was not possible, while it actually was possible). After this first stage, we dropped the KADS22 tool for inclusion in the more thorough evaluation study because we had practical problems in using it conveniently for the simple ontology.

5.1 The SWI ontology
The second ontology concerned the area of "university studies in the Netherlands". Our aim has been to build a general ontology of this domain, which would then be instantiated for the specific university study SWI (Social Science Informatics). The populated ontology can serve as an online information system for providing potential and actual SWI students with information about the structure and content of the study. On the other hand, the ontology of Dutch university-studies can be used for modeling any other Dutch study, such as for example Computer Science, Spanish Literature, or Psychology. The ontology could be used by department coordinators, who would have to fill the ontology with their study-specific courses. In turn, the populated ontology, along with one of the tools discussed here in browse-mode, might then serve as an information service to interested students.

Figure 2: Person belonging to the academic world as shown in OntoSaurus

The general ontology consists of two main structures: a part-of hierarchy, modeling the structure of the study, and various isa hierarchies, modeling the different types distinguished in the domain. Examples are shown in ProtégéWin for the part-of structure (Figure 1), in Ontolingua for various isa links (Figure 3) and in WebOnto for the types of courses (right part of Figure 4). The isa tree of courses is domain independent until a certain level. After the doctoral course level (Figure 4), the structure becomes domain specific, because not all university studies have a distinction between specialization courses and general courses. The top most class of this isa-structure is the course class. Since all courses have some form of teaching and some form of examination, these classes (nb. course_form and examination) provide the values for the slots has_form and has_examination. Both the classes examination and course_form have several instances. The general part-of structure has university_study as the root of the structure (See Figure 1 and left part of Figure 4). Each university study consists of a first_year_phase and a doctoral_phase (note that this is the structure in at the universities in The Netherlands). The doctoral phase then again falls apart in a specialization and a graduation_phase. The graduation phase in its turn has the following parts: thesis, placement and research-project. Each of the different phases has a slot has_course. The values of these slots are provided by the corresponding courses (instances) of the earlier mentioned isa hierarchy. Eventually this general part-of structure can be used to model curricula of different studies, by selecting from courses already modeled in the course isa hierarchy.
We tried to create the ontology with five of the earlier mentioned tools. During our work with the tools, we have contacted most of the creators or administrators of the tools, to correspond with them about the use of the tools and the underlying languages, and to ask for help in case of problems. While building the ontologies, we evaluated the various tools according to the evaluation framework, as presented in Section 3. The framework includes questions about the interface, ontologies, and the support for cooperation provided by the tools. In the rest of this section, we present the results of the evaluation for each of the tools separately, and in the next section, a comparison will be made between the tools.

5.2 Evaluation of Ontolingua

General
Ontolingua (Figure 3) can be accessed using a standard web-browser. The Ontolingua interface is then presented in the browser’s window. Ontolingua’s interface consists of two frames. The top frame has a number of icons and menus. The bottom frame is used to show information and to input new data. This interface is different from the standard used by Windows, but it is easy to understand and use. The meaning of the comments is clear and in case one wants to have more information about a certain command, there is a help-function available. There is also a guided tour to get familiar with the basic commands. The bottom frame is updated, whenever new data is inserted or something else is changed. This ensures that the information presented to the user is always up to date. If the Ontolingua server is used by several users to work on the same ontology, changes invoked by another user are updated as soon as anything is clicked. Ontolingua does not use the standard graphical overview of the ontology (rectangles to represent classes, lines to represent relations etc.). Instead there is a graphical browser. This browser can be used to get an overview of the isa-hierarchy of the concepts in the ontology along with the instances. It is not possible to get a graphical overview of other aspects of the ontology (other relations).

Figure 3: Ontolingua’s ontology grapher, showing the SWI-ontology


Ontology
In Ontolingua, it is easy to use the principle of multiple inheritance. Slots in an instance are inherited from multiple parents, like they should be. It is also possible to define compositions as exhaustive and/or disjoint. The Ontolingua tool comes with a repository of ontologies. These can be merged or otherwise included into a new ontology. These ontologies can also be browsed to find out how to implement certain features of an ontology. Also, There are a large number of primitives available in the frame-ontology. These primitives can be imported into the ontology to represent certain types of relations. Using these primitives, it is possible to define a decomposition as for instance an exhaustive one. However, it is not always clear how one should use these primitives. There is only a short description about the primitives and no help on how to implement the in an ontology.
There is no specific help on ontology building, apart from the basics given in the guided tour. This is certainly an aspect of Ontolingua that could be improved. Even for people acquainted with ontology building, it can be hard to find out how to implement a certain feature in Ontolingua.

Cooperation
Since Ontolingua is intended to be a tool for cooperative ontology construction, there are many features to support this. It is possible for several users to edit the same ontology synchronously. The changes made by someone will be visible to all other users, after they click on anything. This makes sure that the ontology a user sees on his screen is consistent with the ontology on the server, even if something has changed as a result of an action of a different user. However, there is no notification of changes. Also, it is not possible to find out which user made a specific change to the ontology. There is a shared undo-list available. This means that any user can undo changes made by all other users. There is also a redo-list available.
It is possible to define the types of access other users have to an ontology. This means one can lock an ontology for editing, while it is still available for browsing to other users. The Ontolingua server comes with excellent importing and exporting capabilities. This can be done in a number of formats.

5.3 Evaluation of WebOnto

General
When viewing WebOnto (Figure 4) in the light of the evaluation framework, a few characteristics stand out. First on the general dimension, the interface is rather clear. The interface is made consistent with standard win95/98 interfaces. Therefore the commands are clear to use. WebOnto uses besides the standard file/edit menu, more specific menus like an ontology menu, operations menu, annotation menu and broadcast menu. The ontology menu consists of ontology specific operations like selection of ontologies and viewing classes, instances etc. The operations menu is used to make inferences about the ontology through actions like tell, ask and evaluate. The annotation and broadcast menus finally are used to work collaboratively on an ontology. The structure of these menus is very clear and easy to use. When one is editing an ontology, it will be locked for other users to edit. This option is provided by the use of a browse and edit mode, selectable in the edit-menu. During an edit session the ontology is updated, when something is modified within the ontology. The overview of the ontology presented in WebOnto is one of the better overviews provided in relation to the other tools, not only can the entire ontology be viewed, but also selections of the ontology, for example only the classes, or only the instances etc. All these structures are presented in graphical tree structures. Especially when building large ontologies, the structures can become rather confusing, however due to the ability to view only parts of it, the user is able to get a clear view of the domain. Furthermore the system is rather stable, no serious problems when working with the tool, were encountered.

Figure 4: Graphical structure of SWI ontology as presented in WebOnto. Unlabeled arcs are isa-links

Ontology
In WebOnto the user can create structures including classes with multiple inheritance. This can be done graphically. All the slots are inherited in the correct way. It is also possible to construct disjoint, exhaustive compositions, however for now the only way of doing it, is by stating it in the underlying knowledge representation language. The tool does check newly entered data by checking the integrity of the OCML code. In WebOnto there are many other ontologies, which can be browsed freely, all these ontologies are import a base-ontology. When viewing this base-ontology, all underlying classes are presented as well, this way ontologies can be reused. The base-ontology also includes numerous primitives, like isa/subclass, logical operators, integers, etc. These primitives can be used to define for example sets and subclasses. However a pre-defined part-of relation is not included in this base-ontology.

Cooperation
WebOnto comes with a feature called broadcast and receive mode. When one enables the broadcast mode, and then enters the edit mode, other users in receive mode can view the changes the broadcasting party is making. However only one user at a time can edit an ontology, when a user is editing, the ontology becomes locked. In the locked state other users can still browse through the ontology. Unfortunately there is no direct way of exporting ontologies made in WebOnto, the only possible way up till now is viewing the OCML source code, and then copy/paste it to another program. However in working with the tool, we noticed it is still under construction, and it was even adapted to our comments, when we in encountered problems. WebOnto also includes an annotation tool, which consists of a “drawing pencil”. Ontology builders can use it to draw anything (arrows, circles, text, etc.) in the graphical window. Other users who are at that time in receive mode, will see these annotations in real time.

5.4 Evaluation of ProtégéWin

General
ProtégéWin (Figure 1) has a nice graphical interface, which should be easy to use for all GUI-users. The ontology structure is made up just like a hierarchical directory structure. Classes, subclasses and slots can be added and edited by using the standard right-mouse click.
When we look at the consistency of the program we see that this is comparable to the clarity of the interface. On each class (subclass or superclass) you can use the same options as mentioned above. No inconsistency was found when we used this tool. Due to the segregation of the parts (Ontology-editor, Layout-editor or Layout-interpreter) some confusing arose about the functionality of the parts.
The ontology was updated real-time in the Ontology-editor. The updating of the other parts of the complete program was conducted by saving the ontology in the Ontology-editor and then opening it in the Layout-editor.
As already put in the text above, the ontology is shown in a hierarchical-structure, what gives a good overview of the ontology. Inherited slots are easy to recognize in the structure by code coloring.
The commands used in the tool are not always clear to all users. When you’re new to ontology-building you probably have to use the help-function very often, but even when you are quite experienced in using and creating ontologies you’ll find some things that aren’t clear. In the help-function there are a lot of explanations. Experienced users should have enough information in the help-function.
This tool was very stable in comparison to some other tools. ProtégéWin isn’t very comparable to the Web-based tools, because they are dependent on the traffic on the Internet, while ProtégéWin a normal GUI tool is.

Ontology
Multiple inheritance is possible, but might lead to problems if classes inherit slots with identical names. The tool checks real-time in the Ontology-editor if there is still consistency when giving new data. In the other parts of the tool are no consistency checks because they are only concerned with the layout of the input-screen, and not with the ontology itself.
An overview of the ontology of the different aspects is available in ProtégéWin, in the main screen in the Ontology-editor. This tool has a help-function that isn’t made for naive users. There is an example-ontology available in the help function, but because the help-function is in HTML-style, the example is only available to people who have an Internet-connection. You have to download the example before you can analyze it. There is no short overview for naive users about ontologies in general and some main topics in ontology building available in the help-function.
The example is very clear and gives a good overview what you can do with the program. A library of ontologies for reuse isn’t available. You could use the example for parts, but this is not ideal.
In the help-function a few important terms concerning ontologies are explained, but not enough to give a good overview.

Cooperation
ProtégéWin is a tool, which should be installed locally on your computer, as mentioned earlier. That’s why it isn’t a real CSCW-tool. Synchronous collaboration is not possible with this tool. The only exchange of information can be done by saving your ontology and reading it into another copy of ProtégéWin. Because of this, it is not possible to work on an ontology together at the same time. Ontology-locking and browsing during locking aren’t applicable to this tool.
Changes to the tool aren’t recognizable to another user, unless you have an old copy of the ontology on your computer. This feature of cooperation will be available in the next version of Protégé, which will be a Java-program, called Protégé2000. The three different parts of the program will be merged into one tool in this next version. In this version, ProtégéWin, it is not possible to export or import to/from other types of format. This is not handy if you want to use ontologies made in one of the other evaluated tools.

5.5 Evaluation of OntoSaurus

General
The OntoSaurus Browser (Figure 2) is an ontology environment based on the higher level ‘Loom’ programming language. When you work with OntoSaurus, you will find a small description of how the environment works. A few examples of ontologies are given and it’s possible to browse through them. How the examples were made is not shown however. With OntoSaurus it is very easy to browse through ontologies, even if they are very complex. The browser has four frames. In one frame you can make special bookmarks of the ontology, which can make browsing easier and faster. In the top frame you can choose which ontologies, called theories, you want to see. On the right is a frame that shows the main concepts of an ontology.  A concept (or class) is shown as a hyperlink and by clicking you will see underlying concepts or other details. The OntoSaurus Browser has two modes. One mode for browsing through an ontology and one for making changes. If you wish to make changes, you select that mode and you will block out others trying to edit in the same environment. Different editing options will become available. At first a naive user may not find it easy to edit. One must fill in the right edit boxes with the right text. For example: If you want to make a sub-concept, you’ll have to fill in the parent in the right concept box. Minor changes, like changing details of a concept, are easy to make in OntoSaurus. For building an ontology, complex ontologies in particular, it is necessary to understand the Loom language. Most users built the ontology in Loom in a different editor and then import it into OntoSaurus and for browsing and correcting. One can use OntoSaurus on the web with either a locally installed version of Loom or the Loom version installed at the ISI site.

Ontology
Because OntoSaurus uses the Loom language, it has all the power the Loom language has to offer, like the Loom classifier. Automatic consistency checking and deductive reasoning support and several other facilities are also provided. Things like multiple inheritance, exhaustivity and constraints can be easily expressed in the Loom language. However, in OntoSaurus one has to know how to fill in the right edit boxes. There is no help about how to build an ontology. Thus, for naive users it might not be easy to build ontologies. However, experienced users can use OntoSaurus to swiftly look through or edit details. To get an overview of an ontology one must click on the parent (higher level concept) of the theory. The overview consists of hyperlinked concepts. Some may find a graphical overview easier to work with, although complex theories might be more difficult to overlook in a purely graphical way.

Cooperation
It is possible to work synchronously on ontology. When you make changes you block out other users. If there is an edit lock, you can see which user is editing and at what time the lock was created. Two options are suggested: You can send an email to the other person, or you can override the lock. This may be necessary if the other person is not online at that moment. After making changes, you must update your ontology and go to browse mode. Then another person can use the updated ontology. In working with OntoSaurus we did not find a way to recognize the changes that were made and by whom the changes were made. OntoSaurus supports further cooperative work, because it's possible to import and export ontologies in other languages, such as Ontolingua, KIF, Stella and IDL. At the time we were using OntoSaurus, the tool only read Loom, but you could save your ontology in other languages.

5.6 Evaluation of ODE

ODE (Ontological Design Environment, Figure 5) is still in development and was at the time of our evaluation, not publicly available. We decided to include ODE nevertheless because it promises to be a useful tool for non-power users. The results reported in this section are based on building the ontology in a tutorial session with one of the developers.


Figure 5: Glossary of terms used in our ontology shown in ODE

General
In ODE, an ontology builder does not manipulate a knowledge representation language. Instead, the ontology is built at the conceptual level and later automatically translated into a target language. The interface of ODE consists of a set of tables, such as tables for a glossary of terms, a data dictionary, concepts, relations, axioms, etc. The use of tables is consistent, although not always the most intuitive way to express knowledge (e.g. to specify a class hierarchy of concepts in a table). In the current version of ODE no graphical interfaces are available, but these are currently being developed. An advantage of the use of tables is that the user does not need to have any knowledge about underlying knowledge representation languages (such as Ontolingua, LOOM, OCML, etc.). In fact, experience of the ODE developers is that domain experts are able to evaluate the tables (i.e. the ontology), and detect errors, which is unlikely when using directly knowledge representation languages.
While completing the tables, much support could be gained from providing the user with alternatives to choose from. For instance, while filling a table of relations between concepts, rather than typing the concepts each time, selecting them from a menu automatically generated from the glossary of terms, would be a much more comfortable way of working. ODE's current version does not yet support this feature, but it is planned before it will be publicly available.
In its current version, it is rather difficult to get a clear overview of what has been modeled so far. The planned addition of graphical tools should bring significant improvements.
ODE has the possibility to define explicitly a conceptual model of the ontology itself. Based on this conceptual model (actually, a meta-model of the ontology), the needed tables are automatically constructed.  In many situations, a specific set of standard tables is probably sufficient to build an ontology. However, if specific needs arise, the set of tables can be changed by changing the conceptual model. ODE can thus be configured for specific purposes.

Ontology
ODE allows using multiple inheritance (a concept may have more than one parent concept). However, ODE does not include an inference engine and thus does not perform the inheritance itself. The reason is that ODE uses translators to generate code for the ontology in a knowledge representation language, and often these languages effectuate the multiple inheritance (e.g. Ontolingua).
ODE includes tools for consistency checking and verification of the ontology. For instance, it checks whether instances of disjoint classes are actually disjoint (i.e. an instance cannot belong to two disjoint classes at the same time). It also checks whether terms used in the ontology have been properly defined (using the data dictionary).
High level ontological primitives include subclass-of, disjointness, exhaustivity, and partition. The part-of relation is not a primitive with associated semantics, but of course, it can be defined by the user.  Ontology-specific help is available, as well as some example ontologies.

Cooperation
ODE needs to be installed locally on a computer (currently a PC with Windows95, 98, NT). Therefore only asynchronous cooperation is supported. Change management between different versions of the
ontology is not supported. Users have to keep track themselves of what changes have been made since the last version. Internally the ODE ontology is stored in a relational database, which facilitates its integration with traditional software. Concerning export and import facilities, the current version of ODE generates Ontolingua and F-Logic and is also able to import ontologies in these languages.

6 Discussion

As in many software development projects, also in the tools we have evaluated, documentation has no high priority during the development phase. In general, this makes the use of the tools troublesome for naive, inexperienced users. The lack of full documentation convinced us to contact the developers of the various tools several times, even for trivial questions.
The goal of building the first ontology (about university persons) was to get acquainted with the tools and to assess the amount of pre-knowledge needed. Based on the results, we have now a global idea of how difficult it is to learn to work with the tools and about the amount of knowledge required of the underlying knowledge representation language. The results summarized in Figure 6.


Figure 6: Results of first evaluation of tools

ProtégéWin and ODE do not require much knowledge of the underlying representation language, and are therefore aimed at non-power users. ProtégéWin also is easy to learn, as its interface is straightforward. ODE is more difficult to learn because it uses a table format. The price that ProtégéWin pays is that it provides less high-level primitives, and does not allow to model axioms. Ontolingua, OntoSaurus and WebOnto all use the power of an underlying knowledge representation language. This allows for more complex modeling, but the price is that users need to know these languages before they can build ontologies (this is especially the case with OntoSaurus, which uses Loom. But then, OntoSaurus was mainly developed as a browsing tool).

In the rest of this discussion, we will compare the different tools according to the three dimensions of the evaluation framework: general (interface), ontologies, and cooperation. Table 2 gives a summary of the results, in which we compiled the 0-10 scale into a 3-level scale of {+, 0, -}. A plus (+) means positive, e.g. the feature/characteristic is available or properly implemented. A zero (0) means reasonable, e.g. the feature is available, but it is difficult to use. A minus (-) is negative, e.g. the feature is not supported or not correctly implemented. 'NA' means not applicable.

Table 2: A summary of the results. A plus (+) means positive, a zero (0) means reasonable, a minus (-) is negative, and 'NA' stands for not applicable.

General
Tools that interact with the user through web browsers generally have an easy-to-learn interface. A complicating factor is that often so many different options are available that one gets lost easily. This is also related to the fact that the underlying knowledge representation languages provide many possibilities, each of which needs to be reflected in the user interface.
For getting an overview of the ontology, different manners are used. Ontolingua, OntoSaurus and ProtégéWin provide indented lists for representing the class hierarchy. In addition, Ontolingua also allows showing it graphically in a tree of class names. WebOnto provides a graphical overview with classes represented as ellipses, instances as rectangles and relations as (labeled) arcs. Graphical interfaces are more insightful for small and medium sized ontologies. However, for large ontologies fully graphical interfaces tend to become confusing (because the screen gets filled by numerous lines, ellipses and rectangles), and straightforward indented lists are better candidates. On the other hand, this means it is more difficult to see relations other than isa between classes. Several tools provide the possibility to graph specific parts of the ontology (e.g. starting from a particular subclass).
ProtégéWin and ODE are programs which should be installed locally and work both under the Windows operating system. Because of this, collaborative work is only usable by exchanging ontologies through email, ftp or the like. On the other hand, the tools that work locally are much faster. Especially ProtégéWin, which is very stable, has a nice interface and can be used for the whole trajectory of building ontologies and is also usable by quite naive users. The ODE versions we've used were all very buggy and couldn't be used for extensive evaluation. The system should also be usable for naive users, but there was not enough information available to check this. Of the web-based tools, WebOnto was the fastest in updating changes made to the ontology. OntoSaurus can be used both with a locally installed version of Loom (for faster updating) or with the version installed at the ISI site.
Another noteworthy aspect of the tools is the overall poor help-systems. Although user-guides are available, the tools should have properly functioning help within the system. Because the field of ontological engineering tools is rather new, an extensive help-function would appear to be a key-element of the tools. In WebOnto and ODE however, there is no general help about the tool available. ODE, although in Spanish, is the only tool providing some help about ontologies. Another way of supporting users in creating ontologies is through the provision of examples. The tools, which are purely web-based also, provide access to ontologies made by other users of the tool. This way, the already existing ontologies function as examples. The other tools, which have to be installed locally, do not standardly include example ontologies. However for ProtégéWin examples can be downloaded from the ProtégéWin homepage. Ontolingua comes with a guided tour, which is quite useful for new users.

Ontologies
All the evaluated tools supported the use of multiple inheritance correctly. The easiness of creating an exhaustive and/or disjoint decomposition differed for all tools. We did not find out how to implement this in ProtégéWin. But all other tools supported this in some way.
Concerning error checking, when the user enters new data, this data can be checked for syntax errors, but also for more semantic errors like disjointness of classes. Most tools support checking of syntax errors, but few tools check for semantic errors. ODE is claimed to do that as well as OntoSaurus.
Ontolingua comes with a large repository of ontologies. Also, a large number of primitives are available in the frame ontology. This allows a user to import definitions and parts of other ontologies while building a new ontology. However, it is not always clear how the primitives from the frame-ontology should be used. More help on this aspect is definitely needed.
Concerning high-level primitives, the well known isa/subclass relation is supported by all tools, and several of them also provide for disjoint and exhaustive class decompositions (Ontolingua, OntoSaurus, WebOnto, ODE). High—level primitives are usually defined in a base-ontology. Any new ontology imports this base ontology and the primitives can be reused when creating a new ontology. Ontolingua imports the FrameOntology, OntoSaurus imports Loom, and WebOnto imports the OCML base ontology. None of the tools provides the “part-of”-relations as a primitive, that is, the part-of relations is not defined in the various base ontologies. Having asked the creators, this is due to the non-consensus on the semantics of the part-of relation (studied in the field of Mereology).
All tools, except ProtégéWin and ODE, include libraries of sample-ontologies that can be browsed and reused in new ontologies.

Cooperation
Ontolingua is the only tool that supports full synchronous editing of ontologies. This is a feature that is important if one wants to construct an ontology collaboratively. Ontolingua also has other useful features that support collaborative design, like the shared undo-list. Another example is the good import and export capability of the tool. The only thing that should be improved is the notification of changes made by other users. Otherwise we found Ontolingua to be one of the best tools for collaboratively working on ontologies in the last phase of its development. Other web-based tools support synchronous editing, but use locking to prevent overwriting other users’ changes. WebOnto additionally supports drawing annotations onto the ontology, which works in a similar way as NetMeeting. Locked ontologies can still be browsed by other users.
Changes made by other users can not be identified in any tool. This is a major disadvantage, because this would enhance cooperation by showing the different users’ changes. The creators of Ontolingua state that this feature is possible, but we didn’t encounter it while using the tool. We think this may be caused by us using the Nijmegen-mirror instead of the more frequently updated Stanford site. For future versions of the tools we suggest using color coding for indicating the changes made.
Importing and exporting different ontologies is a useful feature when working on one ontology in different tools. This is especially useful when using different tools, for different stages of the development of ontologies.
The creators also indicated that Ontolingua was not intended for the first phases of ontology design. In these phases, extensive editing is needed. This can be done with Ontolingua, but one would probably like to have a better overview of the ontology. Ontolingua is more suited for browsing an ontology and making smaller changes. The tools we have evaluated are usable for different parts of the trajectory of making and implementing ontologies. The tools can be better suited for different types of users (beginners, expert, etc.).

7 Conclusion

Ontologies are becoming more and more important in many different fields. Because of this increase, the need for tools supporting the creation and maintenance of ontologies will increase as well, both for naive and experienced users. We have evaluated five tools to get a good insight in how they work and for what users they are suitable. We also looked at which tools were best suited for the various parts of the process of creating an ontology.
The ontological engineering tools can be classified into different types of tools, locally installable tools and tools accessible through the Internet. Tools, which are installed locally, do not support synchronous collaboration for obvious reasons. Web-based tools however do support synchronous creating and editing of ontologies
The tools we have evaluated were not all equally suitable for the complete trajectory of building and maintaining ontologies. We found that WebOnto, ProtégéWin and ODE were best suited for the conceptualization and formalization phase in ontology development. These tools are also better suited for the less experienced users. Ontolingua and OntoSaurus appear to be better suited for later phases where only relatively small revisions and modifications are required. Due to the more powerful underlying knowledge representation languages, these tools are not, as James Rice put it, very appropriate for “plumbers and janitors” (i.e. inexperienced users).
Because the different tools have all their pros and cons, it is impossible to select an ideal tool at the moment. We tried, by using our own framework, to construct a list of items, which should be incorporated into an ontology-building tool useful for different types of users. Our conclusion is that for naive users WebOnto and ProtégéWin are better suited, because they require little knowledge of the underlying knowledge representation language and are easy to learn. These two dimensions are important for beginning ontological engineers. However, when users have gained more insight in the tools and the underlying knowledge representation languages, Ontolingua and OntoSaurus might give the users better support in creating complex ontologies.

8 Acknowledgements

We would like to thank the following people for their support and assistance: James Rice, John Dominque, Enrico Motta, Ray Fergerson, Eduard Hoenkamp, Thomas Russ, Asunción Gómez Pérez, Oscar Corcho, Anjo Anjewierden, Bob Wielinga, and the BSCW people for letting us use their system.

9 References