Knowledge representation is a multidisciplinary subject that applies theories and techniques from three other fields:

  1. Logic provides the formal structure and rules of inference.
  2. Ontology defines the kinds of things that exist in the application domain.
  3. Computation supports the applications that distinguish knowledge representation from pure philosophy.

Without logic, a knowledge representation is vague, with no criteria for determining whether statements are redundant or contradictory. Without ontology, the terms and symbols are ill-defined, confused, and confusing. And without computable models, the logic and ontology cannot be implemented in computer programs. Knowledge representation is the application of logic and ontology to the task of constructing computable models for some domain.

-John Sowa, Preface to Knowledge Representation