|Representing Anthropological Knowledge: Calculating Kinship|
|Michael D. Fischer||
Analyzing and Understanding Cultural Codes
|Extended Kin Types
In the previous section we defined the following basic kin types (genealogical relationships):
c(X,Y) :- child(X,Y).
Anthropologists extend the basic vocabulary (csdpfmgzbewh) to represent more complex kinship relationships. This is done by conjoining the basic kin type symbols. For example, the following symbols are a few of the possible combinations:
Complex relationships are represented in prolog by using variables to link individuals representing the simple t erms together. For example for sw ('son's wife):
and for fbs:
Following is a prolog example which defines a few compound relationships. Try some of these out, by typing in a query (to the right of the "Query" button) replacing the 'mm(X,Y).' that is there, and then clicking either on the 'All Solutions' button or the 'Query' button (this gives you one result for each time you click the button).
As an exercise, complete and test the definitions for fbd,mf,ff,fff,mmm,swf. You can test your definitions by typing in a query (to the right of the "Query" button) replacing the 'mm(X,Y).' that is there.
Next section: Reporting genealogical relations
Note for writing rules:
When writing your rules pay attention to two things:
1) make sure where you intend a variable for prolog to 'fill-in' with a name, that you use an upper-case letter for the variable name (A-Z), and
2) end your rule with a full-stop ('.'). This is VERY important.
If you get things into too big a mess, you can reload the page by clicking on the reload button of the browser while holding down the option key on a Macintosh, or the ALT key under Windows or Unix. The correct answers are incorporated into the program in next section.
Next section: Genealogical relations