Re: Relational/hierarchical data problem

From: Steve Kass <>
Date: Tue, 18 Feb 2003 17:37:42 -0500
Message-ID: <b2ucgl$s40$>

Wouldn't he ask for the degree of consanguinity if that's all he needed? Just on the hunch that your grandmother or some of here friends raise show dogs while they aren't trying to master the art of sucking eggs, ask her what the canine family trees look like, and then see whether the concept of "generation" is well-defined and whether any sort of power law is likely to be useful to Will.

Maintaining the transitive closure, while expensive, is certainly a straightforward way to handle a problem like this, and it's definitely practical if the number of animals is relatively small.


Bernard Peek wrote:

> In message <>, Will
> <> writes
>> I'm working with data similar to that found in a family tree. In this
>> case it applies to animals and particularly breeding. The data is held
>> within a single table in a relational database and takes the form of a
>> single record for each animal, which includes two fields to reference
>> the unique ID of both the mother and the father.
>> I need to determine how many shared ancestors exist between the
>> subject and any other animal and which ancestors are shared.
> Sorry if I'm teaching my grandmother to suck eggs, but is that really
> what you need? I'm guessing that you need to determine the degree of
> consanguinity. That would imply that you need to take note of the
> number of generations that separate the ancestors and the current
> generation and apply a power-law. If you only need to know the degree
> of consanguinity it might be possible to generate an answer without
> recursive searches.
> Finding answers to difficult questions like this is critically
> dependent on a clear and precise understanding of what is required.
> It's important to avoid devising complex solutions that deliver more
> information than is actually needed.
Received on Tue Feb 18 2003 - 23:37:42 CET

Original text of this message