Interpreting Frames
Interpreting frames: A frame system interpreter must be capable of the following in order to exploit the frame slot representation:
- • Consistency checking -- when a slot value is added to the frame relying on the domain attribute and that the value is legal using range and range constraints.
- • Propagation of definition values along isa and instance links.
- • Inheritance of default. values along isa and instance links.
- • Computation of value of slot as needed.
- • Checking that only correct number of values computed.
Access Paths
One advantage of a frame based representation is that the (conceptual) objects related to a frame can be easily accessed by looking in a slot of the frame (there is no need, for example, to search the entire knowledge-base). We define an access path, in a network of frames, as a sequence of frames each directly accessible from (i.e. appearing in a slot of) its predecessor. A sequence of predicates defines an access path iff any variable appearing as the first argument to a predicate has appeared previously in the sequence. For example, ``John's parent's sister'' can be expressed in Algernon as the path:
The access path ((parent John ?x) (sister ?x ?y)) is equivalent to the syntactically similar predicate calculus statement:
In predicate calculus this statement is equivalent to
However, the corresponding sequence of predicates:
is not an access path because a query of (sister ?x ?y) requires a search of every frame in the entire knowledge-base.