Search for a command to run...
An ontology is a set of definitions of content-specific knowledge representation primitives: classes, relations, functions, and object constants. Ontolingua is mechanism for writing ontologies in a canonical format, such that they can be easily translated into a variety of representation and reasoning systems. This allows one to maintain the ontology in a single, machine-readable form while using it in systems with different syntax and reasoning capabilities. The syntax and semantics are based on the KIF knowledge interchange format [11]. Ontolingua extends KIF with standard primitives for defining classes and relations, and organizing knowledge in object-centered hierarchies with inheritance. The Ontolingua software provides an architecture for translating from KIF-level sentences into forms that can be efficiently stored and reasoned about by target representation systems. Currently, there are translators into LOOM, Epikit, and Algernon, as well as a canonical form of KIF. This paper describes the asic approach of Ontologia to the ontology sharing problem, introduces the syntax, and describes the semantics of a few ontological commitments made in the software. Those commitments, that are reflected in the ontological syntax and the primitive vocabulary of the frame ontology, include: a distinction between definitional and nondefinitional assertions; the organization of knowledge with classes, instances, sets, and second-order relations; and assertions whose meaning depends on the contents of the knowledge base. Limitations of Ontologia's "conservative" approach to sharing ontologies and alternative approaches to the problem are discussed.