Consider the example first discussed in Semantics Nets
(Section ):
Here the frames Person, Adult-Male, Rugby-Player and Rugby-Team are all classes and the frames Mike-Hall and Cardiff-RFC are instances.
Note
This implies:
Mike-Hall is a Back and a Back is a Rugby-Player who in turn is an Adult-Male and also a Person.
DISTINCTION BETWEN SETS AND INSTANCES
It is important that this distinction is clearly understood.
Cardiff-RFC can be thought of as a set of players or as an instance of a Rugby-Team.
If Cardiff-RFC were a class then
Instead we make it a subclass of Rugby-Player and this allows the players to inherit the correct properties enabling us to let the Cardiff-RFC to inherit information about teams.
This means that Cardiff-RFC is an instance of Rugby-Team.
BUT There is a problem here:
This is why we need to view Cardiff-RFC as a subset of one class players and an instance of teams.
We seem to have a CATCH 22.
Solution: MetaClasses
A metaclass is a special class whose elements are themselves classes.
Now consider our rugby teams as:
The basic metaclass is Class, and this allows us to
Inheritance of default values occurs when one element or class is an instance of a class.
Slots as Objects
How can we to represent the following properties in frames?
A slot is a relation that maps from its domain of classes to its range of values.
A relation is a set of ordered pairs so one relation is a subset of another.
Since slot is a set the set of all slots can be represent by a metaclass called Slot, say.
Consider the following:
NOTE the following: