# 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;