Я хотел бы иметь возможность рассчитать семейные отношения между двумя людьми в генеалогическом дереве, учитывая следующую схему данных (упрощенную из моей фактической схемы данных, только показывающую столбцы, которые непосредственно применяются к этой проблеме):
individual
----------
id
gender
child
----------
child_id
father_id
mother_id
С этой структурой, как можно вычислить взаимосвязь между двумя отдельными идентификаторами (например, кузеном, великим дядей и т.д.).
Кроме того, поскольку на самом деле существуют два отношения (например, A-B может быть племянником, тогда как B-A - дядя), как можно сгенерировать дополнение к другому (данный дядя, и если мы будем знать пол, как мы можем генерировать племянника?). Это более тривиальный вопрос, первый - это то, что меня действительно интересует.
Спасибо всем!