NEOCLASSIC is the most recent member of the CLASSIC family, and features a tight integration with the C++ programming language, allowing close control of its knowledge representation capabilities without compromising their integrity. NEOCLASSIC currently provides three interfaces: a C++ application programming interface, a graphical user interface, and a character stream interface.
In a Description Logic-based Knowledge Representation System such as NEOCLASSIC, a model of a domain consists of a description of the concepts (kinds of individuals) that exist in the domain plus a description of each of the individuals in terms of these concepts and relationships between individuals (represented as roles and their fillers).
The CLASSIC family extends these basic notions of description logics with rules, simple forward-chaining rules of inference. NEOCLASSIC introduces the idea of multiple, independent knowledge bases, where each knowledge base contains a related collection of concepts, roles, rules, and individuals.
In the CLASSIC family, some individuals belong to the domain being modeled, i.e., particular wines, in a knowledge base that reasons about wines. (These individuals are said to belong to the CLASSIC realm, and are called CLASSIC individuals.) Other individuals are used to help describe CLASSIC individuals, i.e., ages may be represented as integers, and names may be represented as strings. (These individuals are said to belong to the HOST realm, and are called HOST individuals.)
This user's guide describes the above notions in NEOCLASSIC, and gives examples of their creation and use. Examples and syntax are generally given as in the character interface--for details on the C++ interface see the NEOCLASSIC reference manual.