Class GenealogyNetwork
java.lang.Object
org.episteme.natural.biology.genealogy.GenealogyNetwork
Analyzes complex kinship networks, dynastic alliances, and house interactions.
Provides tools for quantifying relationships and identifying inter-dynastic links.
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordData record representing a historical person and their dynastic house.static final recordRepresents a directed or undirected relation between two individuals. -
Method Summary
Modifier and TypeMethodDescriptionstatic doublecoefficientOfRelationship(String p1, String p2, List<GenealogyNetwork.Relation> relations) Calculates the coefficient of relationship between two people based on known nodes.identifyAlliances(List<GenealogyNetwork.Relation> relations, Map<String, String> personToHouse) Identifies inter-house alliances formed through marriage relations.
-
Method Details
-
coefficientOfRelationship
public static double coefficientOfRelationship(String p1, String p2, List<GenealogyNetwork.Relation> relations) Calculates the coefficient of relationship between two people based on known nodes. Currently a placeholder for advanced graph-based genealogical algorithms.- Parameters:
p1- unique ID of first personp2- unique ID of second personrelations- list of all known relations- Returns:
- relationship coefficient
-
identifyAlliances
public static Map<String,Integer> identifyAlliances(List<GenealogyNetwork.Relation> relations, Map<String, String> personToHouse) Identifies inter-house alliances formed through marriage relations.- Parameters:
relations- list of all relationspersonToHouse- mapping from person ID to house name- Returns:
- map of alliance (house-house string) to frequency
- Throws:
NullPointerException- if any argument is null
-