WebODE is a new tool for modeling knowledge using ontologies. It's based on the widely used and tested methodology named Methontology model built in the Technical School of Computer Science (FI) in Madrid.
WebODE is the web counterpart for ODE (Ontology Design Environment) and includes a lot of new and interesting features becoming a very simple yet powerful tool for building ontologies.
The WebODE implementation has been carried out with technologies, such as Java, RMI, CORBA or XML and technology of our own as the Minerva Application Server. This provides maximum flexibility and interoperation with other business applications needed for the today enterprises. WebODE has been built using a three-tier model as depicted in Figure 1.
Figure 1: WebODE's Architecture
The user interface is provided for the first tier. This interface is provided by means of a web browser like Internet Explorer or Netscape. This tier is implemented with standard web technologies, like HTML, CSS (cascading Style Sheets) and XML (extended Mark-up Language) to easily interoperate with other applications.
This user interface provides forms for the introduction of data, and some utilities that permit the navigation across the taxonomy of concepts (with different view points) or the graphical edition. The graphical edition is perform by OntoDesigner, a WebODE's tool, and it is implemented with Java applets.
Figure 2: WebODE editor.
Figure 3: OntoDesigner.
The second tier provides the business logic. This tier consist of two other sub-tiers:
The Logic Sub-tier provides direct access to ontologies by means of a well-defined API supplied through an application server developed, called Minerva Application Server.
The Presentation Sub-tier is responsible for generating the content to be presented in the user's browser. It is also aimed at handling user requests from the client (queries, etc.).
The third tier is concerned with data. The ontologies are stored in a relational database (Oracle). This database is accessed by means of the JDBC (Java Database Connectivity) standard.
The ontology conceptual model of WebODE is based on the intermediate representations of METHONTOLOGY, and permits to represent at a conceptual level: concepts, constants, instance attributes, class attributes, references, taxonomic and 'ad hoc' relations with its properties, axioms in first order logic, set of instances, and instances, etc., which are components commonly used for the representation of the ontology. WebODE as well as ODE, is an ontology development tool that does not manipulate a knowledge representation language. Instead, the ontology is built at the conceptual level and later automatically translated into different target languages. In the current version of WebODE, translators to lenguages like Ontolingua, Prolog, Loom, CARIN, and Flogic are under construction.
WebODE improves the reusability of a conceptual model by defining set of instances. This feature allows to instantiate the same conceptual model in different ways for different users. Each user would introduce on its own instance set just the instances of each own application. Therefore, the interoperability between applications would be higher.
Another new feature (that also increases reusability) is the possibility of developing different conceptual views of the same conceptual model (which can be also instantiated in different instance sets). This feature allows to highlight parts of the ontology and customize the visualization of the ontology for each user, remaining hidden those parts of the conceptual model which are not required.
The ontologies can be exported/imported in WebODE using XML and with a established DTD. Ontologies can be also imported among WebODE servers and also with another tools that share the WebODE DTD.
WebODE has an inference engine developed in "Ciao prolog", which is Edimburgh compatible. Although WebODE is not OKBC compliant yet, all the OKBC primitives have been defined in prolog for their use in the inference engine.
Besides, there is a mechanism that allows the user to establish the type of access of the ontologies developed. Using the notion of group the user can give access to an ontology for editing or restrict the access. This mechanism provides collaboration, because there are synchronization mechanisms that allow manifold users to edit the same ontology without causing errors.
WebOde permits to represent taxonomies and graphs on which simple and multiple inheritances will be applied. Besides it allows defining partitions and different kinds of taxonomic relationships like, subclass of, exhaustive-subclass-of and disjoint-subclass-of, as well "ad hoc" relationships. The graphical user interface allows to visualize all the relationships defined on the ontology as well as to select a type of relationship (i.e., part-of) and visualize the ontology under this perspective in the sense of a graphical prune. Mathematical properties like: reflexive, symetric, etc., and other user-defined properties can be also attached to the "ad hoc" relations.
Related with constraint checking capabilities, WebODE not only detects type constraint, numerical values, cardinality constraints, but also it provides other mechanisms of taxonomic consistency verification (i.e., common instances of disjoint classes, loops, etc.)