Skip to main content

Frame vs semantic net

Short answer

A frame is a record-like structure with slots, defaults, constraints, and attached procedures, organized in is-a hierarchy. A semantic net is a pure graph of nodes and arcs. Frames have internal node structure, defaults, and demons; semantic nets lack these. Both support inheritance.

What is a Frame? How is it different from semantic net in knowledge representation?

A frame is a structured representation of an object or situation: a named collection of slots, each with a value, default, restriction or attached procedure, arranged in an is-a / instance-of hierarchy with inheritance (Minsky).

Example:

Frame: Car                          Frame: MyCar
  is-a: Vehicle                       instance-of: Car
  wheels: 4 (default)                 colour: Red
  fuel: [petrol or diesel]            owner: Hari
  mileage: [if-needed: km / litres]

A semantic net is a graph of nodes and labelled arcs, e.g. MyCar --instance--> Car --is-a--> Vehicle, MyCar --colour--> Red.

Difference between frames and semantic nets

PointFrameSemantic net
StructureRecord-like: object with slots and fillersGraph: nodes joined by labelled arcs
Node contentNode has internal structure (slots, facets)Node is just a label
DefaultsExplicit default values for slotsNo built-in defaults
ProceduresAttached procedures (if-needed, if-added demons)None; purely declarative
ConstraintsType and range restrictions on slotsNot supported directly
Visual formTable-likeDiagram of links
Best forComplex objects with many attributesSimple relations and taxonomies
InferenceInheritance plus procedures and expectationsInheritance by following links
ComplexityHeavier to designSimple and easy to draw

Both support inheritance, and a frame system can be seen as a semantic net whose nodes are given internal structure.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Artificial Intelligence chapter 5 questions →