FamilySearch/gedcomx — pull request #222 by stoicflame (2013-01-22 23:16:27+00:00)
Title: Mechanism to express explicit relationship between child and two parents

Use case: given a scenario like the following, accurately identify the relevant pairs of parent for a person of interest (D1).

This table is the evidence we have about our person of interest (D1) and some of her potential parents (F1, M1, F2, M2).

Census | H of H | Wife | Daughter | D1 Age
-------|--------|------|----------|---------
1900 US Census| | | -not found- | -not found-
1905 Kansas State Census | F1 | M1 | D1 – female in household | 6
1910 US Census | F2 | M1 | D1 – relation to head given as Daughter | 11
1915 Kansas State Census | F1 | M2 | D1 – female in household | 16
1919 marriage record | F2 | M2 | |

We have evidence that D1 had a parent-child relationship with F1, M1, F2 and M2 (dark grey arrows labeled PC1-PC4 in the figure below). We have not found a birth record yet; nor have we found D1 in the 1900 census; it could be that if we found either of these, we might find her with yet-unidentified parents (e.g., F0 and M0). With the 1910 census stating her father as F2, but our earliest record not being with F2, the unfound records, etc., we have reason to question who D1’s biological parents are. In creating our parent-child relationships for D1, our only safe assumption is that all of the parent-child relationships be assumed to be equivalent (in GEDCOM X, this is manifest as an absence of a fact stating the lineage relationship).

Furthermore, the evidence suggests that couple relationships (blue arrows) existed between F1 and M1 (labeled CR1), between F2 and M1 (labeled CR3), between F1 and M2 (labeled CR2) and between M2 and F2 (labeled CR4).

![CoupleChildRepresentation - Fig1](https://f.cloud.github.com/assets/840078/17346/1bea9ef2-4873-11e2-9fee-92b236809672.png)

Given our person of interest (D1), we want to show the pairs of parents over the households she was known to be a child in. Can this be done?

By analyzing the parent-child relationships, we can determine F1, M1, F2 and M2 all acted as parents of D1. By analyzing couple relationships, we can see four couple relationships: F1-M1, F2-M1, F1-M2 and F2-M2. Then we look at all of the couple relationships and ensure that D1 has a parent-child relationship with both parent’s in the couple relationshp … and it seems that D1 would be a child in all four couple relationships??? The records – as presently constituted – would not support an assertion that D1 was a child in a household with F2-M2.

To address this deficiency, it is proposed we add the following class to the GEDCOM X model to allow explicit statements to disambiguate such data.

![CoupleChildRepresentation - UML](https://f.cloud.github.com/assets/840078/17349/2d5a9f5c-4873-11e2-8198-57753d347648.png)

The purpose of this class would be to specify an explicit association between a child and two parents (for the purpose of disambiguating family groupings).

We might update our example to use this new class to more accurately and explicitly represent what is known as follows:

![CoupleChildRepresentation - Fig2](https://f.cloud.github.com/assets/840078/17350/3c8ac11e-4873-11e2-8559-447fe2354256.png)

By adding couple-child relationships (green arrows in the above figure) to represent the fact we have evidence that D1 was in a household with F1 and M1 (labeled CCR1 in the above figure), with F2 and M1 (labeled CCR3), and with F1 and M2 (labeled CCR4), we can now arrive at the desired answer in an explicit and programmatic fashion.

By analyzing the parent-child relationships, we determine F1, M1, F2 and M2 all acted as parents during D1’s childhood. By analyzing the couple-child relationships, we determine that D1 was a child in the F1-M1 household, the F2-M1 household, and the F1-M2 household. This time we do not mistakenly identify F2-M2 as a household she was known to be a child in.

With regards to the CoupleChildRelationship, we would constrain valid instances of this class as follows:
* All instances of Relationship in the CoupleChildRelationship MUST resolve to parent-child relationships
* All instances of CoupleChildRelationship MUST contain at least on Relationship (either relationshipToParent1 or relationshipToParent2 MUST have a value).
* If an instance of CoupleChildRelationship has values for Relationships, both Relationships MUST refer to the same child.

What are your thoughts on such a proposal?