![]() |
|||
![]()
|
![]() |
![]() |
![]() |
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:
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.
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.
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.
8. DESIGN CRITERIAHere we summarize some design criteria and a set of principles that have proved useful in the development of ontologies.
FIGURE 4 Ontology development process.
|
![]() |
|
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. |