Brought to you by EarthWeb
IT Library Logo

Click Here!
Click Here!

Search the site:
 
EXPERT SEARCH -----
Programming Languages
Databases
Security
Web Services
Network Services
Middleware
Components
Operating Systems
User Interfaces
Groupware & Collaboration
Content Management
Productivity Applications
Hardware
Fun & Games

EarthWeb Direct EarthWeb Direct Fatbrain Auctions Support Source Answers

EarthWeb sites
Crossnodes
Datamation
Developer.com
DICE
EarthWeb.com
EarthWeb Direct
ERP Hub
Gamelan
GoCertify.com
HTMLGoodies
Intranet Journal
IT Knowledge
IT Library
JavaGoodies
JARS
JavaScripts.com
open source IT
RoadCoders
Y2K Info

Previous Table of Contents Next


7. HOW TO USE ONTOLOGIES?

Based on the nature of the software, who are its intended users, and how general the domain is, Uschold and Grüninger have identified three main categories of uses of ontologies (Uschold and Grüninger, 1996). They single out the following roles:

  1. Communication between people and organizations, to unify different research fields.
  2. Interoperability among software systems, using the ontology as interlingua to unify different languages and software tools.
  3. Systems Engineering Benefits, when ontologies assist in building classic or knowledge-based software as follows:
    1. Reusability, the ontology is reused in another software component
    2. Reliability, for automatic consistency checking of software applications
    3. Specification, if ontologies are used to specify other systems

These three roles could be grouped depending on when ontologies are used: at (1) design time in systems engineering and at (2) run-time to allow communication and interoperability.

Ontologies at design time. Ontologies are useful for building KBSs because they allow the KE to use knowledge already acquired, conceptualized, and implemented in a formal language, reducing considerably the knowledge acquisition bottleneck and the conceptualization phase of the new system. As you can imagine, the KBS development process varies when you use ontologies to build it. Figure 2 summarizes graphically the sequence of activities performed by a KE when modeling the domain of vehicles reusing definitions from a library of ontologies. Once the KE has a clear idea of the knowledge to be modeled, the first thing to do is to select those ontologies that are potentially useful for its system. In the example, three ontologies from the library of ontologies are depicted: an ontology of numbers, which contains a taxonomy and relationships between concepts; an ontology of units of measures with a set of instances; and, the ontology of vehicles with concepts structured taxonomically. Note that not all the definitions in the ontology of vehicles are useful for this application. In fact, the KE looks for the definitions required (in this case, "vehicle," "car," "truck," "family car," and "sports car," and translates them into the target language used to formally express the KB). The other vehicles ("police car," "van," and "ambulance") that the KE has already identified in the application domain and do not appear in the ontology will be conceptualized, formalized, and implemented. Finally, both implemented parts are assembled in the new KB of the KBS. Note that in using ontologies, you only need to implement the definitions that the ontology does not provide.


FIGURE 2 Ontologies used at design time.

Ontologies at run-time. Ontologies are also used at run-time by independent, heterogeneous and cooperative systems that share knowledge and inferences in agents networks. In this manner, when a given system does not have a given knowledge, it queries another system that makes inferences and gives the answer. So, a system temporally uses knowledge and reasonings of other systems. The ARPA Knowledge Sharing Effort (Neches et al., 1991) has identified the following three levels of an agent communication language (ACL), as graphically is shown in Figure 3.

  1. The ACL vocabulary is the ontology. Each and every word in the dictionary has a natural language description and a formal description. Definitions of terms under different perspectives might coexist coherently in the dictionary. The ontology provides a common shared interpretation of the terms and indexes information resources distributed among agents, which are used when agents look for the source of knowledge needed to pursue a given task.
  2. The ACL internal language is KIF (Knowledge Interchange Format) (Genesereth and Fikes, 1992). This language is used to provide formal definitions of the vocabulary. As Section 12.1 describes, KIF is a prefix version of first-order predicate calculus with extensions to improve its expressiveness.
  3. The ACL external language is KQML (Knowledge Query Manipulation Language) (Finin, 1992), a communication protocol for orderly agents dialog.

To write an expression in ACL, one should codify a KQML expression in which its arguments are KIF sentences built using words of the ontology.


FIGURE 3 Ontologies used at run-time.

8. DESIGN CRITERIA

Here we summarize some design criteria and a set of principles that have proved useful in the development of ontologies.

  • Clarity and objectivity (Gruber, 1993b). The ontology should provide the meaning of defined terms by providing objective definitions and also natural language documentation of all terms.
  • Completeness (Gruber, 1993b). A definition expressed by a necessary and sufficient condition is preferred over a partial definition (defined only by a necessary or sufficient condition).
  • Coherence (Gruber, 1993b). It should permit inferences that are consistent with the definitions.
  • Maximize monotonic extendibility (Gruber, 1993b). It means that new general or specialized terms should be included in the ontology in a such way as does not require the revision of existing definitions.
  • Minimal ontological commitments (Gruber, 1993b). It means making as few claims as possible about the world being modeled. In other words, the ontology should specify as little as possible about the meaning of its terms, giving the parties commited to the ontology freedom to specialize and instantiate the ontology as required. This openly contradicts Gruber´s completeness criterion, which states that the semantics of the terms should be specified in as much detail as possible.
  • Ontological Distinction Principle (Borgo, Guarino, and Masolo, 1996). It means that classes in an ontology should be disjoint. The criterion used to isolate the core of properties considered to be invariant for an instance of a class is called the Identity Criterion.
Project Management
Activities
Development Oriented
Activities
Integral Activities

Planning

Control

Quality assurance
 
 
 
 
Predevelopment
Specify

Development
Conceptualize
Formalize
Implement

Post development
Maintenance

Acquire knowledge
Integrate
Evaluate
Document
Configuration mangement
 
 
 
 

FIGURE 4 Ontology development process.


Previous Table of Contents Next

footer nav
Use of this site is subject certain Terms & Conditions.
Copyright (c) 1996-1999 EarthWeb, Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Please read our privacy policy for details.