next up previous contents index
Next: Class Slot Types Up: The Knowledge-Base Behaviors Previous: Slot-Value Annotations

Defaults

Most FRSs have some notion of default inference. Although foreign to the KL-ONE family for many years, newer members of the KL-ONE\ family, such as LOOM, do support defaults. However, there is wide variation in the model of default inference that different FRSs support. The basic approach is that default values for slot S of an instance frame i are inherited from slot S of a class frame C, where C is a parent of i.

The value of i.S that is visible to FRS users is computed in some fashion by combining the default (inherited) values of C.S (if any), with the local values already stored in i.S (if any), subject to the constraints defined for S. The general idea is to sanction the default inference as long as it does not render the KB inconsistent. The problem is that there are almost as many notions of inconsistency as there are FRSs.

Different systems make a variety of assumptions about how to combine defaults that are inherited from multiple types for the same frame. This version of the protocol makes no commitment regarding multiple parentage.

The behavior called :inheritance describes the model of inheritance required by the application.

The different values for this behavior specify different notions of consistency:

Imagine that slot color records all colors visible on the surface of an animal, and that the default recorded at class Elephant is grey. Imagine further that for elephant Clyde, the local value of color is blue to reflect the color of Clyde's eyes. Under behavior :override, the user-visible value of Clyde.color would be blue, whereas under behavior :incoherence, Clyde.color would be the set {blue,grey}. In the first case, the local value must prevent inheritance of the default value, whereas in the second case, inheritance is not prevented because no constraint specifies that grey and blue are inconsistent values. If, under behavior :incoherence, we further specified that color is a single-valued slot using a cardinality constraint, then the user-visible value of the slot would be blue, because inheritance of a second color would violate the cardinality constraint, resulting in inconsistency.


next up previous contents index
Next: Class Slot Types Up: The Knowledge-Base Behaviors Previous: Slot-Value Annotations

  • Peter Karp