Download (direct link):
In general, the language used for knowledge representation determines the kind of reasoning that can take place on the knowledge; the representation precedes reasoning. A knowledge representation language with limited
15See Davis, Shrobe, Szolovits (1993). Also see John Sowa's (2001, p. 135) discussion based on the Davis et al. article.
expressivity (in the kinds of knowledge it is possible to represent) cannot directly be used for automatic reasoning methods that require more complex expressiveness. This issue will become clearer in our discussion of logic.
Knowledge representation is derived from the semantic networks developed during the 1960s and 1970s. It is generally accepted that the first elaboration of the notion of a semantic network was by Quillian's chapter in Minsky's (1968) book describing emerging artificial intelligence research at MIT.16 A semantic network was just that: a network structure (typically represented as directed acyclic graphs) for the expression of semantics, or a node-and-link representation of knowledge constructs (now we would typically called them concepts) and their relationships. What are currently known as knowledge maps would probably correspond to semantic networks. One problem with semantic networks is that, in general, they were ad hoc, heterogeneously structured and represented, with their semantics dependent only on the particular researchers who developed them and the particular systems that used them. The reasoning methods of semantic networks were based on particular implementation strategies, not on a formal language.
Developing a semantic network was not recognized as really being about the design and implementation of a knowledge representation language. In fact, it was only in the late 1970s and early 1980s that the knowledge representation community began to formalize consistently and coherently the notion of a semantic network as a logic-based language for representing knowledge.17 The first formalization of a semantic network based on logic was the frame-based language KL-ONE (Brachman & Schmolze, 1985).
A frame-based knowledge representation language is a language for representing knowledge based on frames, which are simply data structures for representing concepts (called classes) and relations (called slots). The notion of a frame corresponds to early LISP programming language terminology: A slot and filler data structure was a representation for records in LISP. Attributes (sometimes called properties) are just slots defined on a domain (a specific class subtree). Frame-based systems are close to the object-oriented modeling paradigm, insofar as the knowledge of a domain is centered on the primary entities (represented as classes and instances of those classes) of the domain. A class or an instance in a frame-based language has many properties nowadays considered standard for both object models and ontologies: multiple parents, inheritance of relations and attributes (slots in frame systems), default values
16For additional information on semantics networks and the frame-based languages that were descendants of them, see Minsky (1975), Fahlman (1979), Brachman (1978), Brachman and Levesque (1985), and Brachman and Schmolze (1985).
17In addition to the Brachman citations in the previous footnote, see also the SIGART Bulletin of June 1991, which was a Special Issue on Implemented Knowledge Representation and Reasoning Systems, and Mylopoulos and Brodie (1989).
and the possibility of overriding values, and facets, the latter of which can be considered knowledge aspects or meta data associated with frames or slots (for example, sometimes the unit of measure of a slot will be attached to the slot as a facet; other uses of facets are to record origin, authoring, and descriptive information, i.e., meta data).
This frame perspective is different from the other major modeling perspective in knowledge representation languages—that based on logical axioms (logical expressions) and in which the knowledge of a domain is distributed across axiom set—as in description logics (which we talk about shortly). Most modern knowledge representation languages and systems based on the languages (such as KIF/CL, DAML+OIL, OWL), however, either explicitly or implicitly allow for both modeling perspectives and make the distinction transparent to the user/developer (though developers who wish to understand and use either perspective have access to the underlying constructs). The important point is that frame-based representations are equivalent to logic-based representations.
Listing 8.2 shows a frame-based representation. In this example, the class StationWagon is defined as being a subclass of the class Automobile and having a number of properties (or attributes): having doors, a model type, a manufacturer, and a certain weight—all of which will get inherited downward by any subclasses or instances of StationWagon. Note here (in our notation, words that begin with a capital letter signify classes) that Manufacturer and Weight-Measure are themselves classes. Then an instance of StationWagon class, identified by the identifier inst-345678, instantiates specific values for the properties defined at the class level. Those values can in fact override the default values (if any are defined) of the class level.