Representing Anthropological Knowledge: Calculating Kinship
Michael D. Fischer
Analyzing and Understanding Cultural Codes

Kinship
Contents

Kinship&Genealogy
Kinship Introduction
Learning Kinship with
the Kinship Editor
Use the Kinship Editor
Kinship Editor Results
Active Media: Prolog

Kinship Contents

Kinship Contents

Kinship Contents

Kinship Contents

Active Media: Prolog

Following is a transformation of the information produced by the Kinship Editor to a collated textual form that can be further processed by other tools to assist analysis. In this case the Sample Output is translated into Prolog, a computer programming language useful for symbolic processing.

This example was done using a program we developed to transform XML documents into other formats. This program used the rather forbidding looking script to transform the Sample Output document into the prolog document further down this page. We will use this prolog document in the next section.

The next section is Culture &Classification


The transformation script:


% <prolog generated="XSLSim copyright 1999 Michael D Fischer">

% data for each person relating to sex, siblings and spouses

male(john).
spouseset(john,"2").
%
male(george).
sibset(george,"1").
spouseset(george,"3").
%
male(mike).
sibset(mike,"3").
spouseset(mike,"5").
%
male(earl).
spouseset(earl,"1").
%
female(noddie).
spouseset(noddie,"12").
%
female(jean).
sibset(jean,"8").
spouseset(jean,"3").
%
female(jimmi).
sibset(jimmi,"3").
spouseset(jimmi,"10").
%
female(nancy).
sibset(nancy,"3").
%
male(jim).
sibset(jim,"1").
spouseset(jim,"4").
%
female(elizibeth).
spouseset(elizibeth,"4").
%
female(vikki).
sibset(vikki,"4").
spouseset(vikki,"6").
%
male(richard).
sibset(richard,"4").
%
female(wenonah).
spouseset(wenonah,"5").
%
male(stephen).
sibset(stephen,"5").
spouseset(stephen,"9").
%
female(demeter).
sibset(demeter,"5").
spouseset(demeter,"7").
%
male(paul).
spouseset(paul,"6").
%
male(albert).
sibset(albert,"6").
spouseset(albert,"7").
%
male(carl).
sibset(carl,"7").
%
female(effie).
spouseset(effie,"8").
%
male(bill).
spouseset(bill,"8").
%
female(jo).
sibset(jo,"8").
%
male(wayne).
sibset(wayne,"8").
%
male(arthur).
sibset(arthur,"8").
%
female(sonia).
spouseset(sonia,"9").
%
male(ron).
spouseset(ron,"10").
%
female(marie).
sibset(marie,"10").
%

% the child, spouse and sibling predicates following translate the
% person-union model used by the kinship editor into more
% conventional genealological concepts.


% sibset id of person is id of parents spouseset
child(Child,Ego) :- sibset(Child,ID), spouseset(Ego,ID).

% spouses share a spouseset id
spouse(Spouse,Ego) :- spouseset(Spouse,ID), spouseset(Ego,ID), neq(Spouse,Ego).

% siblings share a sibset id
sibling(Sibling,Ego) :- sibset(Sibling,ID), sibset(Ego,ID), neq(Sibling,Ego).

% </prolog>

Next section: Culture &Classification