In recent times, the phrase “knowledge base” has come into popular usage and is now generally taken to mean a body of knowledge about some problem domain. As originally used, however, the term meant something much more precise. In particular, in the original sense in which the term was conceived, a knowledge base is a formal logical representation of the entities of interest in some problem domain and their relations to one another. That is, a knowledge base is a body of knowledge that has been organized within a formal syntactic and semantic framework that allows formal inferencing about the problem at hand. We use the term, knowledge base (or its abbreviation: kb), throughout the NetWeaver documentation in this more formal sense.
By itself, a knowledge base does not actually do anything. Instead, a knowledge base is best thought of as a meta database that is used (by something or someone) to interpret data. In the case of a knowledge base system, the “something” is an inference engine, a program library that interprets external data according to the semantics built into a knowledge base by the knowledge base designer.
One more component is needed for a complete knowledge base system because the inference engine is just a program library. This final component is the interface, a program with which the user directly interacts via screen objects in the interface to construct a knowledge base and to direct the processing of data by the knowledge base engine. The interface, in effect, acts as an intermediary between the user and the engine. During construction of a knowledge base, for example, the inference engine constructs the knowledge base in response to mouse and keyboard operations directed by the user in the interface. In the process of constructing a knowledge base, the engine enforces and constantly checks user actions to ensure that the content and structure of the knowledge base conforms to the syntax that the system requires. The user also interacts with the inference engine via the interface to control the conduct of a knowledge-base evaluation of data.