[rdfweb-dev] Relationship Schema Updated

Michael Bauser michael at bauser.com
Sun Mar 14 10:12:49 UTC 2004

Hash: SHA1

(I'm looking at my mailbox, and it looks like Mozilla may have scrambled
the references on my previous two messages. Is that my punishment for
having three reply windows open at once?)

Dan Brickley wrote:

> I would support breaking out the family tree / kinship stuff into a
> separate namespace.

I've been thinking that may be the way to go.

> I had been wanting to have such concepts for use in
> FOAF but only if could be done in a crossculturally sensitive way, which
> isn't so easy...

Anthropologists have been trying for decades. The general consensus
really is that the eight-fold model works best, because:

A) The "first-degree" distinctions are recognized by all societies. The
"spouses and kids" model of the family really is known everywhere, and
the distinctions within the basic four categories are (as I explained in
my reply to Morten) not exactly sex-based.

B) The eight relationships are mutually exclusive in the normal
functioning of all known cultures, so the graphs seldom get weird.

C) The second and later degrees or relationships can be mapped by
chaining the first degree relationships. *This* is what makes the
eight-way model especially useful for RDF data meant to be parsed by
computers, because we can separate the *relationship* from the *label*,
and let the end-user determine if they want to see relationships using
*native* or *local* labels. For example, if I identify someone as my
"Brother's Daughter" in my FOAF profile, an English-language program can
label her as my "niece", while a Chinese-language program can identify
her as my "Tang zhi nu", if that will help Chinese-speakers understand
my data better.

The LITTLE problem with the "label it with my language or theirs"
approach is that FOAF doesn't exactly have a way to label "what language
 and culture I define my networks with". FOAF doesn't even have
properties for nationality yet.

The BIG problem is that in many societies, there are temporal and/or
ordinal qualifiers to relationships. The distinction between "older
brother" and "younger brother" can be very important, as can the
distinction between "second wife" and "third wife". (The distinction
between the latter two will further depend on the cultural mores; in
some societies, "third wife" implies the divorce or death of "second
wife", while in other societies, it implies the husband can afford three

Putting time-based distinctions into the RDF Class names is clearly
problematic, because it increase the number of classes users have to
worry about. We would (at the very least) need
Oldest/Older/Younger/Youngest variants for Brother and Sister, and
probably Oldest/Youngest for Son and Daughter. FirstWife, SecondWife,
etc, obviously are untenable, because we don't know where to stop. (No,
literally, I don't know -- Does anybody have a Guinness Book handy?)

I suspect the best compromise between usability and descriptiveness is
to limit a kinship vocabulary to the eight first-degree terms, and hope
that everyone includes the important event dates (birth, marriage,
divorce, death) in their foaf:Person descriptions. That would be enough
for well-designed "kinship agent" to describe the vast majority of
kinship networks. (I think.)

I think "eight relationships and four dates" is fairly usable, too, in
that it lends itself to simple user interfaces. A user who wants to
define his whole kinship network can "step through" the network one
person at a time, link each person to their immediate kin, and let
software draw the network. (I'm pretty sure there are amateur geneaology
programs that work this way.) It definitely beats asking people to make
a list of their third cousins.

(And, as much as I've attacked the kinship relationships listed in the
relationship vocabulary, there probably is some room for relationships
more generic than the basic eight.  Many societies group kin by shared
relationships to a common ancestor without requiring a precise mapping
of the network; in those cases, a kinship vocabulary would need generic
"Ancestor/Descendant" relationships of some sort -- maybe even a
"Founder" relationship.)

The MAYBE problem is something I haven't addressed in this discussion
yet: half- and adoptive kinship. At the data-entry level, it will be
difficult to enforce any sort of consistency: There are societies that
don't recognize the distinctions, and (in societies that do recognize
them) people who refuse to. My natural inclination is to do what I
learned in anthropology class: graph children as directly connected to
their "first recognized father" and "first recognized mother" (which
aren't necessarily biological parents), and let cultural context explain
the rest, but even that won't work unless user interfaces get all facist
about it. I'm thinking that kinship-analysis agents may need some
intereresting heuristics to spot ambiguous relationships.

Now I'm just rambling....

Version: GnuPG v1.2.1 (MingW32)


More information about the foaf-dev mailing list