KRR is widely used in the field of artificial intelligence (AI) with the goal to represent information about the world in a form that a computer system can use to solve complex tasks, such as diagnosing a medical condition or having a natural-language dialog.
Examples of knowledge representation formalisms include vocabularies, thesaurus, semantic networks, axiom systems, frames, rules, logic programs, and ontologies.
In the meanwhile, John McCarthy and Pat Hayes developed the situation calculus as a logical representation of common sense knowledge about the laws of cause and effect.
In North America, AI researchers such as Ed Feigenbaum and Frederick Hayes-Roth advocated the representation of domain-specific knowledge rather than general-purpose reasoning.
Rather than general problem solvers, AI changed its focus to expert systems that could match human competence on a specific task, such as medical diagnosis.
In these early systems the facts in the knowledge base tended to be a fairly flat structure, essentially assertions about the values of variables used by the rules.
[8] A frame is similar to an object class: It is an abstract description of a category describing things in the world, problems, and potential solutions.
It also had a complete frame-based knowledge base with triggers, slots (data values), inheritance, and message passing.
[9] The integration of frames, rules, and object-oriented programming was significantly driven by commercial ventures such as KEE and Symbolics spun off from various research projects.
[10] KL-ONE and languages that were influenced by it such as Loom had an automated reasoning engine that was based on formal logic rather than on IF-THEN rules.
The classifier can also provide consistency checking on a knowledge base (which in the case of KL-ONE languages is also referred to as an Ontology).
One of the first realizations learned from trying to make software that can function with human natural language was that humans regularly draw on an extensive foundation of knowledge about the real world that we simply take for granted but that is not at all obvious to an artificial agent, such as basic principles of common-sense physics, causality, intentions, etc.
An example is the frame problem, that in an event driven logic there need to be axioms that state things maintain position from one moment to the next unless they are moved by some external force.
In order to make a true artificial intelligence agent that can converse with humans using natural language and can process basic statements and questions about the world, it is essential to represent this kind of knowledge.
[12] In addition to McCarthy and Hayes' situation calculus, one of the most ambitious programs to tackle this problem was Doug Lenat's Cyc project.
The Resource Description Framework (RDF) provides the basic capability to define classes, subclasses, and properties of objects.
The Web Ontology Language (OWL) provides additional levels of semantics and enables integration with classification engines.
[15][16] Knowledge-representation is a field of artificial intelligence that focuses on designing computer representations that capture information about the world that can be used for solving complex problems.
Knowledge representation makes complex software easier to define and maintain than procedural code and can be used in expert systems.
Languages based on the Frame model with automatic classification provide a layer of semantics on top of the existing Internet.
[22] The Semantic Web integrates concepts from knowledge representation and reasoning with markup languages based on XML.
This gave rise to the discipline of ontology engineering, designing and building large knowledge bases that could be used by multiple projects.
Modularity—the ability to define boundaries around specific domains and problem spaces—is essential for these languages because as stated by Tom Gruber, "Every ontology is a treaty–a social agreement among people with common motive in sharing."
A different ontology arises if we need to attend to the electrodynamics in the device: Here signals propagate at finite speed and an object (like a resistor) that was previously viewed as a single component with an I/O behavior may now have to be thought of as an extended medium through which an electromagnetic wave flows.
Simply put, the important part is notions like connections and components, not the choice between writing them as predicates or LISP constructs.