Frames can also be regarded as an extension to Semantic nets. Indeed it is not clear where the distinction between a semantic net and a frame ends. Semantic nets initially we used to represent labelled connections between objects. As tasks became more complex the representation needs to be more structured. The more structured the system it becomes more beneficial to use frames. A frame is a collection of attributes or slots and associated values that describe some real world entity. Frames on their own are not particularly helpful but frame systems are a powerful way of encoding information to support reasoning. Set theory provides a good basis for understanding frame systems. Each frame represents:
- a class (set), or
- an instance (an element of a class).
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.