Industrial Strength Ontology Management

 

Aseem Das1, Wei Wu1 & Deborah L. McGuinness2

 

1VerticalNet Inc., {adas, wwu}@verticalnet.com

2Knowledge Systems Laboratory, Stanford University, dlm@ksl.stanford.edu

 

Abstract. Ontologies are becoming increasingly prevalent and important in a wide range of e-commerce applications.  E-commerce applications are using ontologies to support parametric searches, enhanced navigation and browsing, interoperable heterogeneous information systems, supplier enablement, configuration management, and transaction discovery.  Applications such as information and service discovery and autonomous agents that are built on top of the emerging Semantic Web for the WWW also require extensive use of ontologies.  Ontology-enhanced commercial applications, such as these and others require ontology management that is scalable (supporting thousands of simultaneous distributed users), available (running 365x24x7), fast, and reliable.  This level of ontology management is necessary not only for the initial development and maintenance of ontologies, but is essential during deployment, when scalability, availability, reliability and performance are absolutely critical.  VerticalNet’s Ontology Builder and Ontology Server products are specifically designed to provide the ontology management infrastructure needed for e-commerce applications.  These tools bring the best ontology and knowledge representation practices together with the best enterprise solutions architecture to provide a robust and scalable ontology management solution.

 

 

1      Introduction

 

Ontology Builder and Ontology Server were developed in response to the business needs for ontologies in VerticalNet’s e-commerce and B2B applications.  They provide a scalable and distributed ontology environment, which is a component critical to the success of e-commerce applications.  More broadly, however, this component is also critical to the success of any architecture, which leverages background information, such as the Semantic Web.  The next generation web – commonly referred to as the Semantic Web – obtains its power and “intelligence” from utilizing markup information on content sources along with background information on terms and content.  The success of such an endeavor relies on environments that support creation and maintenance of background information, while working in a broadly distributed environment like the web.  Ontology Builder/Server provide such an environment in an industrial strength implementation.

     Vertical Net currently hosts 59 industry-specific e-marketplaces that span diverse industries such as manufacturing, communications, energy, and healthcare.  Each e-marketplace acts as an industry-specific comprehensive resource that provides businesses and professionals with information on products, technology, industry regulations, and news and allows buyers and sellers to exchange information, source, buy, and sell products. 

     The primary challenge in developing these e-marketplaces is integrating the disparate sources of information in a way that presents buyers with a single, coherent browsing and navigation experience that includes contextually relevant information from all of the available sources. Suppliers have to be able to display their products on the e-marketplace in a way that enables buyers to purchase electronically, even though the suppliers maintain their product databases and availability and price information in their own vocabulary. For example, different suppliers might use the terms memory device, passives, and RAM to refer the same product and have very different internal vocabularies.

     The use of ontologies was seen as the best solution not only to solve these particular problems [18, 19], but also to provide a common knowledge infrastructure for other e-commerce applications like service discovery, auctions, and request for proposal.  Most of VerticalNet’s e-commerce applications are now knowledge-enabled and use ontologies to drive their services.

 

 

2      Requirements

 

An extensive requirement gathering process was undertaken to compile requirements for VerticalNet’s ontology management solutions.  We identified the following key requirements for ontology management for VerticalNet:

1          Scalability, Availability, Reliability and Performance – These were considered essential for any ontology management solution in the commercial industrial space, both during the development and maintenance phase and the ontology deployment phase.  The ontology management solution needed to allow distributed development of large-scale ontologies concurrently and collaboratively by multiple users with a high level of reliability and performance. For the deployment phase, this requirement was considered to be even more important. Applications accessing ontological data need to be up 365x24x7, support thousands of concurrent users, and be both reliable and fast.

2          Ease of Use – The ontology development and maintenance process had to be simple, and the tools usable by ontologists as well as domain experts and business analysts.

3          Extensible and Flexible Knowledge Representation – The knowledge model needed to incorporate the best knowledge representation practices available in the industry and be flexible and extensible enough to easily incorporate new representational features and incorporate and interoperate with different knowledge models such as RDF(S) [2, 15] or DAML [11]/DAML+OIL [8].

4          Distributed Multi-User Collaboration – Collaboration was seen as a key to knowledge sharing and building.  Ontologists, domain experts, and business analysts need a tool that allows them to work collaboratively to create and maintain ontologies even if they work in different geographic locations.

5          Security Management – The system needed to be secure to protect the integrity of the data, prevent unauthorized access, and support multiple access levels. Supporting different levels of access for different types of users would protect the integrity of data while providing an effective means of partitioning tasks and controlling changes.

6          Difference and Merging – Merging facilitates knowledge reuse and sharing by enabling existing knowledge to be easily incorporated into an ontology.  The ability to merge ontologies is also needed during the ontology development process to integrate versions created by different individuals into a single, consistent ontology.

7          XML interfaces – Because XML is becoming widely-used for supporting interoperability and sharing information between applications, the ontology solution needed to provide XML interfaces to enable interaction and interoperability with other applications. 

8          Internationalization – The World Wide Web enables a global marketplace and e-commerce applications using ontological data have to serve users around the world. The ontology management solution needed to allow users to create ontologies in different languages and support the display or retrieval of ontologies using different locales based on the user’s geographical location. (For example, the transportation ontology would be displayed in Japanese, French, German, or English depending on the geographical locale of the user.)

9          Versioning – Since ontologies continue to change and evolve, a versioning system for ontologies is critical.  As an ontology changes over time, applications need to know what version of the ontology they are accessing and how it has changed from one version to another so that they can perform accordingly. (For example, if a supplier’s database is mapped to a particular version of an ontology and the ontology changes, the database needs to be remapped to the updated ontology, either manually or using an automated tool.)

 

     The requirements of scalability, reliability, availability, security, internationalization and versioning were considered to be the most important for an industrial strength ontology management solution.

 

 

3      Existing Ontology Environments

 

Given the above requirements, several existing ontology management environments were evaluated[1]:

·        Ontolingua/Chimaera [6, 16]

·        Protégé/PROMPT [10, 20]

·        WebOnto/Tadzebao [4]

·        OntoSaurus, a web browser for Loom [12] (http://www.isi.edu/isd/ontosaurus.html)

 

     Some of these environments have already been compared based on different criteria than those formulated at VerticalNet [5].  Figure 1, shows a feature set matrix and our evaluation[2] of the tools based on VerticalNet’s requirements.  To keep the evaluation simple, a three level (+, 0, -) scale was used, where (+) indicates a requirement was surpassed, (0) indicates the requirement was met and (-) indicates that the tool failed to meet the requirement.  Although, none of the existing ontology development environments provide all of the required features, they are nevertheless strong in particular features and have different but very expressive underlying knowledge representation models. 

 

 

Scalable

Available

Reliable

Ease of Use

Knowledge

Representation

Multi User Collaboration

Security

Management

Diff

&

Merge

Internationalization

Versioning

Ontolingua/

Chimaera

-

-

+

0

-

+

-

-

Protégé/

PROMPT

-

0

+

-

-

+

-

-

OntoWeb/

Tadzebao

-

0

+

+

-

-

-

-

OntoSaurus/

Loom

-

-

+

0

-

-

-

-

Figure 1:  Comparison of Some Ontology Environments

 

     Ontolingua provides a very powerful and expressive representation with its frame language and its support for KIF [9] – a first order logic representation.  In combination with its theorem prover (ATP), Ontolingua provides extensive reasoning capabilities and with Chimaera [16], it supports ontology merging and diagnostics.  Ontolingua also provides expressive and operational power not found in other environments such as support for generating and modifying disjoint covering partitions of classes.

     WebOnto/Tadzebao provides very rich collaborative support for browsing, creating and editing ontologies, together with the ability to collaboratively annotate and hold synchronous and asynchronous ontology related discussions using the Tadzebao tool.

     OntoSaurus provides a graphical hyperlinked interface to Loom knowledge bases. Loom provides expressive knowledge representation, automatic consistency checking and deductive support via its deductive engine – the classifier.

     Protégé is the easiest to use and supports the construction of knowledge-acquisition interfaces based on ontological data. It also has a component framework for easily integrating other components via plugins.  Protégé already provides several plugins including PAL, a first order logical language for expressing constraints, and SMART/PROMPT [20], a tool for merging and alignment of ontologies

     However, despite their strengths, all of the ontology solutions fell short on the scalability, reliability, and performance requirements, perhaps because industrial strength, commercial scalability was not seen as a important aspect of ontology management since most of the ontology usage until recently has been restricted to research and academia.  Also, none of the tools provided security, internationalization, or versioning support – requirements considered critical for e-commerce applications.

     After evaluating these solutions against our requirements, we decided to build our own ontology management solution with the goal of bringing the best ontology and knowledge representation practices together with the best enterprise solutions architecture to satisfy the requirements of ontology-driven e-commerce applications. 

 

 

4      Ontology Builder

 

Ontology Builder is a multi-user collaborative ontology generation and maintenance tool designed to incorporate the best features of existing ontology toolkits in order to provide a simple, powerful and yet broadly usable tool.  Ontology Builder uses a frame-based representation based on the OKBC Knowledge Model [3].  OKBC was developed recognizing the wide general acceptance of frame-based systems [13] and provides an API (Applications Programming Interface) for frame-like systems.  Written entirely in Java, Ontology Builder can run on multiple platforms. It is based on the J2EE (Java 2 Enterprise Edition) platform (http://java.sun.com/j2ee), which is a standard for implementing and deploying enterprise applications.  Ontology Builder also provides:

·          Import and export based on XOL (XML-based Ontology Exchange Language) [14][3]

·          A verification engine designed to maintain consistency of terms stated in the language

·          A role-based security model for data security and ontology access

·          An ontological difference and merging engine

 

Figure 2:  Ontology Builder Main Screen

 

4.1         Architecture

 

Ontology Builder is based on the J2EE (Java 2 Enterprise Edition) platform, a standard for implementing and deploying “enterprise” applications.  The term “enterprise” implies highly-scalable, highly-available, highly-reliable, highly-secure, transactional, distributed applications. The J2EE technology is designed to support the rigorous demands of large-scale, distributed, mission-critical application systems and provides support for multi-tier application architecture. Multi-tier applications are typically configured to include:

·          A client tier to provide the user interface

·          One or more middle-tier modules that provide client services and business logic for an application

·          A backend enterprise information system data tier that provides data management 

 

     The client tier is a very “thin” tier, that contains only presentation logic.  The business and data logic are usually partitioned into separate components and deployed on one or more application servers.  This partitioning of the application into multiple server components allows components to be easily replicated and distributed across the system, ensuring scalability, availability, reliability and performance.

     Central to the J2EE platform architecture are application servers, which encapsulate the business and data logic and provide runtime support for responding to client requests, automated support for transactions, security, persistence, resource allocation, life-cycle management, and as well as lookup and other services.  

     Ontology Builder uses a 4-tier architecture comprised of a presentation tier, web tier, service tier, and data tier.  This architecture, shown in Figure 3, can be deployed using a single application server.  The application server encapsulates the service tier, which consists of the business and data logic.  A single server can support many simultaneous connections and multiple servers can be easily clustered as needed for scalability, load balancing, and fault tolerance. Within the presentation tier, a client can be either a Java applet or application. The clients have easy-to-use interfaces written using the Java Swing APIs.  Both applet and application-based clients communicate with the web tier via the HTTP protocol.  The web-tier communicates with the service tier using RMI (Java Remote Method Invocation) (http://java.sun.com/products/rmi-iiop/index.html).  The service tier communicates with the data tier through the JDBC (Java Data Base Connectivity) protocol (http://java.sun.com/products/jdbc).  Collaboration is implemented using a JSDT (Java Shared Data Toolkit) server (http://java.sun.com/products/java-media/jsdt), which forwards all communication and change events to the respective clients.

 

Figure 3:  The Architecture of Ontology Builder

 

4.2         Knowledge Representation

 

Ontology Builder uses an object-oriented knowledge representation model based on and compatible with the OKBC knowledge model and is designed to use the best practices from other frame-based systems.  Ontology Builder implementation supports the OKBC operations on classes, slots, facets, and individuals.  Currently, however, no external interfaces are exposed to enable other knowledge systems to use Ontology Builder as an OKBC compliant server.  Interoperability, knowledge sharing, and reuse are important goals and our future plans call for making Ontology Builder work as a fully compliant OKBC server. 

     Ontology Builder supports a metaclass architecture to allow the introduction of flexible and customizable behaviors into an ontology.  This could potentially be used for incorporating other knowledge models or extending the existing knowledge model within Ontology Builder.  Ontology Builder predefines certain system constants, classes, and primitives in a default upper ontology, which can be extended or refined to change the knowledge model and behaviors within the system.  The main predefined concepts are:

·          CLASS - the default metaclass for all classes, CLASS is an instance of itself

·          SLOT – the default metaclass for all slots and an instance of CLASS

·          T – the root in the default upper ontology (sometimes referred to as THING in other ontologies)

·          INDIVIDUAL – the class of ground objects.