Open main menu


1993 ATranslationApproachToPortableOntologySpecs


  • It contains the quote: “An ontology is an explicit specification of a conceptualization.”, or the longer quote: “A conceptualization is an abstract, simplified view of the world that we wish to represent for some purpose. Every knowledge base, knowledge-based system, or knowledge-level agent is committed to some conceptualization, explicitly or implicitly. An ontology is an explicit specification of a conceptualization.”.

Cited By



To support the sharing and reuse of formally represented knowledge among AI systems, it is useful to define the common vocabulary in which shared knowledge is represented. A specification of a representational vocabulary for a shared domain of discourse — definitions of classes, relations, functions, and other objects — is called an ontology. This paper describes a mechanism for defining ontologies that are portable over representation systems. Definitions written in a standard format for predicate calculus are translated by a system called Ontolingua into specialized representations, including frame-based systems as well as relational languages. This allows researchers to share and reuse ontologies, while retaining the computational benefits of specialized implementations.

We discuss how the translation approach to portability addresses several technical problems. One problem is how to accommodate the stylistic and organizational differences among representations while preserving declarative content. Another is how to translate from a very expressive language into restricted languages, remaining system-independent while preserving the computational efficiency of implemented systems. We describe how these problems are addressed by basing Ontolingua itself on an ontology of domain-independent, representational idioms.


A body of formally represented knowledge is based on a conceptualization: the objects, concepts, and other entities that are presumed to exist in some area of interest and the relationships that hold them (Genesereth & Nilsson, 1987). A conceptualization is an abstract, simplified view of the world that we wish to represent for some purpose. Every knowledge base, knowledge-based system, or knowledge-level agent is committed to some conceptualization, explicitly or implicitly.

An ontology is an explicit specification of a conceptualization. The term is borrowed from philosophy, where an ontology is a systematic account of Existence. For knowledge-based systems, what “exists” is exactly that which can be represented. When the knowledge of a domain is represented in a declarative formalism, the set of objects that can be represented is called the universe of discourse. This set of objects, and the describable relationships among them, are reflected in the representational vocabulary with which a knowledge-based program represents knowledge. Thus, we can describe the ontology of a program by defining a set of representational terms. In such an ontology, definitions associate the names of entities in the universe of discourse (e.g., classes, relations, functions, or other objects) with human-readable text describing what the names are meant to denote, and formal axioms that constrain the interpretation and well-formed use of these terms.


Ontolingua is not a replacement for a representation system like Algernon or Loom. One of the motivations for trying to make ontologies portable over several implementations of representation systems, rather than just standardizing on one system, is that different systems provide different computational services at different costs. The translation strategy allows one to use some computational services at conceptual design time (e.g., terminological classification, general-purpose inference) and to use the same ontology for the development of production systems (e.g., translating it into object-oriented class definitions or database schemata). It is important to note that Ontolingua does not support query processing; users call implemented systems directly to invoke inference procedures. This lessens the need to write ontologies in a special-purpose language, because many of the compromises made in the expressiveness of a representation are made to optimize run-time inference.

Because it translates into restricted languages, Ontolingua is inherently incomplete with respect to the KIF language. The only way to be truly portable over the specialized systems is to take a common-denominator approach, writing definitions using only those constructs known to be supported in all of the systems of interest. The Frame Ontology is a compromise: it identifies a set of some common idioms that are supported in most of the target systems. Although it can parse any legal KIF expression, Ontolingua is only designed to translate a subset of KIF (which is described in the documentation). For instance, the current implementation is not guaranteed to translate sentences using some of the more sophisticated language features of KIF, such as meta-level operators. It currently does not support user-defined second-order relations; only the terms defined in the Frame Ontology are recognized.

However, the full, first-order predicate calculus is available to the ontology writer. Consequently, incompleteness is a fact of life in the representation translation business. When Ontolingua cannot translate a sentence into a target implementation, it issues an informative message. The practical consequence of not translating a sentence could be that the target system may be unable to enforce a constraint, or it may have to fall back on inefficient theorem proving. The good news is that target systems can be customized or replaced without changing the ontology.

Ontolingua is a domain-independent translation tool; it does not help with the intellectual task of designing ontologies. Deciding which concepts and relations to include, and writing axiomatic definitions, requires knowledge that is not found in existing knowledge bases. Ontologies like the Frame Ontology and the axiomatization of set theory in KIF are called representation ontologies. Representation ontologies provide a framework, but do not offer guidance about how to represent the world. Content ontologies make claims about how the world (or a conceptualization of it) should be described. Some content ontologies are intended to be comprehensive — to be “conceptual coat rack” on which to “hang” more specific ontologies and domain knowledge. Examples of comprehensive content ontologies include Cyc's global ontology (Lenat & Guha, 1990; Lenat, Guha, Pittman, Pratt, & Shepherd, 1990), the Penman Upper Model (Bateman, Kasper, Moore, & Whitney, 1990) and the Lilog KB (Pirlein, 1993). Whether these ontologies can help in the design of more specialized ontologies is an empirical question. Ontolingua was created to support experimentation by making such ontologies accessible as off-the-shelf artifacts.

As a representation ontology, the Frame Ontology does specify a conceptualization implicit in knowledge bases written in the object-centered style. Classes, specialization, and slot constraints are not built into KIF; they are a convention supported in specialized representation-system architectures. The Frame Ontology defines these object-centered concepts in a declarative form that is stylistically compatible with pure relation-centered usage. The vocabulary for these concepts defines what can be translated, and offers a succinct form for users to write portable ontologies. In these ways, the Frame Ontology is a specification of the ontological commitments of Ontolingua.


  • Allen, J., & Lehrer, N. (1992). DARPA/Rome Laboratory Planning and Scheduling Initiative Knowledge Representation Specification Language (KRSL), Version 2.0.1 Reference Manual. ISX Corporation.
  • Bateman, J. A., Kasper, R. T., Moore, J. D., & Whitney, R. A. (1990). A General Organization of Knowledge for Natural Language Processing: The Penman Upper Model. Technical report, USC/Information Sciences Institute, Marina del Rey, CA.
  • Bradshaw, J. M., Holm, P. D., & Boose, J. H. (1992). Sharable ontologies as a basis for communication and collaboration in conceptual modeling. Proceedings of the 7th Knowledge Acquisition for Knowledge-based Systems Workshop, Banff, Canada.
  • Crawford, J. M., & Kuipers, B. J. (1989). Toward a theory of access-limited logic for knowledge representation. Proceedings of the First International Conference on Principles of Knowledge Representation, Morgan Kaufmann.
  • Cutkosky, M., Engelmore, R. S., Fikes, R. E., Gruber, T. R., Genesereth, M. R., Mark, W. S., Tenenbaum, J. M., & Weber, J. C. (1993). PACT: An experiment in integrating concurrent engineering systems. IEEE Computer, 26(1), 28-37.
  • Fikes, R., Cutkosky, M., Gruber, T., & van Baalen, J. (1991). Knowledge Sharing Technology Project Overview. Technical Report KSL 91-71, Stanford University, Knowledge Systems Laboratory.
  • Fikes, R., & Kehler, T. (1985). The role of frame-based representation in reasoning. Communications of the ACM, 28(9), 904-920.
  • Finin, T., Weber, J., Wiederhold, G., Genesereth, M., Fritzson, R., McKay, D., McGuire, J., Pelavin, P., Shapiro, S., & Beck, C. (1992). Specification of the KQML Agent-Communication Language. Technical Report EIT TR 92-04, Enterprise Integration Technologies, Palo Alto, CA.
  • Fulton, J. A. (1992). Technical report on the semantic unification meta-model. Standards working document ISO TC184/SC4/WG3 N103, IGES/PDES Organization, Dictionary/Methodology Committee. Contact James Fulton, Boeing Computer Services, P. O. Box 24346, MS 7L-64, Seattle, WA 98124-0346.
  • Genesereth, M. R. (1990). The Epikit Manual. Epistemics, Inc. Palo Alto, CA.
  • Genesereth, M. R. (1992). An Agent-based Framework for Software Interoperability. Proceedings of the DARPA Software Technology Conference, Meridian Corporation, Arlington VA, pages 359-366. Also Report Logic-92-2, Computer Science Department, Stanford University, June 1992.
  • Genesereth, M. R., & Fikes, R. E. (1992). Knowledge Interchange Format, Version 3.0 Reference Manual. Technical Report Logic-92-1, Computer Science Department, Stanford University.
  • Genesereth, M. R., & Nilsson, N. J. (1987). Logical Foundations of Artificial Intelligence. San Mateo, CA: Morgan Kaufmann Publishers.
  • Gruber, T. R. (1991). The Role of Common Ontology in Achieving Sharable, Reusable Knowledge Bases. In J. A. Allen, R. Fikes, & E. Sandewall (Eds.), Principles of Knowledge Representation and Reasoning: Proceedings of the Second International Conference, Cambridge, MA, pages 601-602, Morgan Kaufmann.
  • Gruber, T. R. (1992). Ontolingua: A mechanism to support portable ontologies. Technical Report KSL 91-66, Stanford University, Knowledge Systems Laboratory. Revision.
  • Gruber, T. R., Tenenbaum, J. M., & Weber, J. C. (1992). Toward a knowledge medium for collaborative product development. In J. S. Gero (Eds.), Artificial Intelligence in Design '92. Boston: Kluwer Academic Publishers.
  • Guarino, N. (1992). Concepts, Attributes, and Arbitrary Relations: Some Linguistic and Ontological Criteria for Structuring Knowledge Bases. Data and Knowledge Engineering, 8.
  • Douglas B. Lenat, & Guha, R. V. (1990). Building Large Knowledge-based Systems: Representation and Inference in the Cyc Project. Menlo Park, CA: Addison-Wesley.
  • Douglas B. Lenat, Guha, R. V., Pittman, K., Pratt, D., & Shepherd, M. (1990). Cyc: Toward Programs with Common Sense. Communications of the ACM, 33(8), 30-49.
  • Hector Levesque (1984). Foundations of a functional approach to knowledge representation. Artificial Intelligence, 23, 155-212.
  • MacGregor, R. (1991). The Evolving Technology of Classification-based Knowledge Representation Systems. In J. Sowa (Eds.), Principles of Semantic Networks: Explorations in the Representation of Knowledge. San Mateo, CA: Morgan Kaufmann.
  • Marcus, S., Stout, J., & McDermott, J. (1988). VT: An expert elevator designer that uses knowledge-based backtracking. AI Magazine, 9(1), 95-111.
  • McCarthy, J., & Hayes, P. J. (1969). Some philosophical problems from the standpoint of artificial intelligence. In B. Meltzer & D. Michie (Eds.), Machine Intelligence 4. Edinburgh: Edinburgh University Press.
  • Morik, K., Causse, K., & Boswell, R. (1991). A Common Knowledge Representation Integrating Learning Tools. Technical Report, GMD.
  • Neches, R., Fikes, R. E., Finin, T., Gruber, T. R., Patil, R., Senator, T., & Swartout, W. R. (1991). Enabling technology for knowledge sharing. AI Magazine, 12(3), 16-36.
  • Newell, A. (1982). The knowledge level. Artificial Intelligence, 18(1), 87-127.
  • Patil, R. S., Fikes, R. E., Patel-Schneider, P. F., McKay, D., Finin, T., Gruber, T. R., & Neches, R. (1992). The DARPA Knowledge Sharing Effort: Progress report. In C. Rich, B. Nebel, & W. Swartout (Eds.), Principles of Knowledge Representation and Reasoning: Proceedings of the Third International Conference, Cambridge, MA, Morgan Kaufmann.
  • Pirlein, T. (1993). Reusing a large domain-independent knowledge base. Proceedings of the Fifth International Conference on Software Engineering and Knowledge Engineering, San Francisco.
  • Sowa, J. F. (Eds.). (1992). Principles of Semantic Networks. San Mateo, CA: Morgan Kaufmann Publishers.
  • Spiby, P. (1991). EXPRESS Language Reference Manual. International Standard ISO 10303-11, Project Three ("Express Language") Working Group Five ("STEP Development Methods") of Subcommittee Four ("Manufacturing Languages and Data") of ISO Technical Committee 184 ("Industrial Automation Systems and Integration"); International Standards Organization.
  • Walther, E., Eriksson, H., & Musen, M. A. (1992). Plug and play: Construction of task-specific expert-system shells using sharable context ontologies. Technical Report KSl-92-40, Knowledge Systems Laboratory, Stanford University.
  • Yost, G. R. (1992). Configuring elevator systems. Unpublished manuscript, AI Research Group, Digital Equipment Corporation, 111 Locke Drive, Marlboro, MA 02172.,

 AuthorvolumeDate ValuetitletypejournaltitleUrldoinoteyear
1993 ATranslationApproachToPortableOntologySpecsThomas R. GruberA Translation Approach to Portable Ontology SpecificationsKnowledge Acquisition Task