What's in an Instance?

[Next] [Previous] [Top]


2 The Instance Restriction

All modeling languages have a syntax and a semantics, and these are each subdivided into pure and descriptive parts [Carnap61]. The descriptive semantics of a language defines how the constructs of the language are interpreted. Disregard for this descriptive semantics can lead to misinterpretations of representations. In particular, when modeling languages have special constructs for denoting instances, those constructs must have a consistent interpretation within a domain. More formally, we define the instance restriction:

I1 If language construct C is used to denote individuals of a set in some universe of discourse U, then C can not be used to denote a set of individuals of U.

For each of the following categories of modeling languages we describe the language constructs for instances and show that a violation of I1 is either not permitted syntactically or causes problems in interpretation.

2.1 First-Order Logic

In FOL the language constructs in question are predicate symbols and object symbols. According to the descriptive semantics of symbolic logic, object symbols may range only over the individuals of the universe of discourse and predicate symbols range over sets of individuals (and other predicates) [Carnap61]. For example, in the universe of discourse U1, horse(secretariat) is a valid FOL expression in which the predicate symbol horse is interpreted as a set (or class) name, and the object symbol secretariat refers to an individual. Predicate symbols can not themselves have predicates. For example, in U1 the expression hooved(horse) is invalid, as predicates of predicates are, by definition, second-order. The importance of maintaining a first-order representation lies in the absence of a complete deduction system for higher order logics [Gödel31].

There is no syntactic restriction in FOL that prevents the formation of expressions that violate I1, such as instance(secretariat, horse). It is important to note that if the expression is meant as an alternative to horse(secretariat), it's interpretation in U1 is second-order; set (or class) membership in symbolic logic is a predicate [Quine64], therefore this expression contains a predicate of a predicate. The problem with this kind of violation of I1 in FOL is that the representation is inconsistent with the interpretation of the object symbol construct, which is supposed to denote only individuals in a universe of discourse.

The importance of maintaining consistent semantic interpretation of the language constructs is exemplified in domain modeling. The main goal of modeling a domain in FOL is to capture some knowledge about the domain in a form that others can understand. Part of that understanding by others is grounded in the interpretation of the basic language constructs. For example, a person seeking to use an FOL domain model may decide that, "all individuals in the domain have a location, so I will give each object symbol a location." This is a fairly intuitive statement that relies on the assumption that all object symbols denote individuals. It should be reasonable for a person to make that assumption, since it is part of the semantics of FOL. If the interpretation has been ignored and the class horse is represented as an object symbol, then it will have a location. It clearly should not have a location associated with it, however, since it does not exist as an individual in the same sense that secretariat does.

2.2 Object-Oriented Languages

In Object-Oriented languages the language construct class is distinct from the language construct instance. Instances are restricted to denoting individuals of the domain, while classes denote sets of individuals that satisfy some set of properties (classes are descriptions that characterize the necessary attributes of sets of individuals). I1 is enforced by the syntax of an Object-Oriented language since it is not allowable to have an instance act as a description and itself have instances - an instance can not be used as a class.

2.3 Knowledge Representation Systems

An effort to classify all KR systems in use today exists [Patil92], and the purpose of this paper is neither to rival that effort nor exclude any particular system from consideration. We believe it is important to consider I1 in the context of each KR system, and we specifically discuss two prominent families of systems: frame-based derivatives of KL-ONE and semantic networks.

2.3.1 Description Logics

In the KL-ONE family of languages (now called description logics), the language constructs concept and individual denote classes and individuals in the universe of discourse [Brachman85, Brachman89]. Concepts represent descriptions of classes of individuals, typically through the enumeration of the sufficient attributes of the individuals in that class. Description logics do not permit individuals to act as descriptions, and violations of I1 are thus prevented by the syntax.

2.3.2 Semantic Networks

Semantic Network based representation systems generally have only two language constructs: nodes and links [Fox85, Maida82]. There is no construct for differentiating between classes and individuals, they are both represented as nodes, and thus I1 need not apply in such systems. Semantic Network systems are a very low-level representation, however, which make no epistemological commitments [Shapiro87]. Using such systems to represent a domain basically requires defining a language (which may consist of no more than an ontology of special link and node types) on top of the semantic network in which the domain knowledge will be represented.

In most cases the layered language has a special link for an instance relationship. There is still nothing syntactic that prevents the use of chains of instance links which would violate I1 and give rise to ambiguities. In our experience, users of knowledge representation systems for domain modeling tend to view such unrestricted and rich facility as simply an implementation vehicle. The result is that interpretation of a construct (as e.g. an individual in the domain) may be disregarded in favor of some other attribute of a construct, such as inheritance. In Figure 1, for example, we consider a semantic network representation where an instance link between two nodes causes some slots and values to be copied from the node book to the node book-01. In this universe of discourse (a library card catalog), the modeler has chosen to make book-01 an instance of book. At this point, the interpretation of the instance link is clear, it is an assertion that the domain node book-01 exists as an individual.

The modeler then discovers a second copy of the same book in the library and, as shown in Figure 2, rather than re-type the information about that book, decides to use an instance link between this new copy, book-02 and book-01, and lets the inheritance associated with the instance link do the work of copying the information into the new node. This may be a clever procedural trick to avoid doing extra work, but it is ontologically invalid; clearly book-02 is not an instance of book-01, and ambiguities immediately arise due to the disregard for the proper interpretation. Consider a user of the model wanting to know how many books there are in the library by counting all the instances of book. The count will not include book-02.

A more appropriate representation would require either retyping the information for book-02 and making it an instance of book, or (as shown in Figure 3) creating a new link, say copy-of, that has the same inheritance characteristics as instance, yet has a different (and correct) interpretation.


What's in an Instance? - 01 MAY 95
[Next] [Previous] [Top]

Generated with CERN WebMaker