Я создаю приложение, которое будет хранить отношения между людьми. Сегодня я могу создать модель отношений, которая будет хранить прямые отношения между человеком A и человеком B.
A -> B
Мне было интересно, что будет лучшим способом моделирования / реализовать сложные отношения. Например,
- A является матерью B
- A также является матерью C
, если у меня были определены две вышеуказанные связи. Я должен быть в состоянии автоматически сделать вывод, что B и C являются братьями и сестрами.
Выходя за рамки того, как это будет работать в N-уровневых отношениях
Насколько я понимаю, мне придется определить эти правила, регулирующие все отношения. Учитывая действие создания / обновления в модели отношений между двумя пользователями A и B, мне придется запустить эти правила по всей сети и изменить их отношения. Это как создать рябь в реке.
Зная, что нет. пользователей, которых я бы сохранил в этом приложении, было бы ~ 5K, меня не беспокоит стоимость вышеуказанной операции. Но это все еще не кажется элегантным способом решения проблемы.
TIA