# KEHOME/doc/father.html
# Aug/5/2003
#===============================#
# user-defined binary relations #
# example: father #
#===============================#
1. father as an attribute
Many people would simply represent "father" as an attribute.
Dick has father = Mac;
2. father as an n-ary relation
However, "father" is really a relation between entities,
not an attribute of a single entity.
father is relation with
format = [person:1, person:2];
begin relation father;
Dick, Mac;
end relation father;
3. father as a binary relation
(This syntax was first introduced in MKR version 6.0.)
A simpler description is obtained using a binary relation.
Dick rel father = Mac;
To minimize the differences between user-defined binary relations
and built-in MKR binary relations, this alternate syntax is allowed
(but only recommended for important MKR "extensions").
Dick father Mac;
Note that the "father" of 3 is not the same as the "father" of 2.
The "father" of 2 is automatically made available as "father_rel".
father_rel is relation with
automatic = "none",
format = [existent:1, existent:2],
formattype = verb,
formatverb = father;
begin relation father_rel;
Dick, Mac;
end relation father_rel;