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). As discussed in the introduction, 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. Recall that ``John's parent's sister'' can be expressed in Algernon as the path:
(variables are always denoted in Algernon by Lisp atoms whose print names begin with `?'). The Algernon path ((parent John ?x) (sister ?x ?y)) is equivalent to the 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) would require a search of the knowledge-base.