GEPS 001: Relationship type event link
This page is for a description of the design to create a relationship type - event type link for use in reports.
Note that due to the complexity of human relationships, this can not grasp all possibilities, but it should be more flexible than the present system.
- 1 Introduction
- 2 Proposal
- 3 Use Cases
- 4 Tools, further possibilities
- 5 Code Implementation
The problem is the following: a family has a relationship type, and a set of events. For reports one needs to know what to print. Examples:
- A family with relationship Unmarried and a Marriage event ?
- A family with relationship married and a Marriage and Divorce event ?
- A family with relationship Unmarried and no events?
- A family with relationship civil union, how to indicate begin and end of this union ?
The general built in solution would be the following:
5 relationship types
GRAMPS is given 5 standard relationship types, as opposed to the present four:
- Married : any religeous union
- Civil Union: any civil legal union
- Living Together: people living together without religeous or legal union, but with an implied relationship of mutual love.
- Unmarried: a family with no bond whatsoever (for bastard children, ...) or a family living together without a mutual love.
- Unknown : Unknown
This means one new custom type is added to make the difference between Unmarried living together and Unmarried living apart.
Relationship -- standard event coupling
Every relationship is coupled to a standard event indicating the start and the end of a relationship.
|Relationship||Start event||Stop event||priority|
|Civil Union||Civil Union||Divorce, Union Annulment||2|
|Living Together||Cohabitation||Divorce, Union Annulment, Split||3|
In the above, 4 new standard events are introduced:
- Civil Union : Now Marriage is used for this. Civil Union would indicate that no religeous marriage ceremony has been performed, only a legal one
- Cohabitation: People of a family starting to live together
- Union Annulment : The annulment of a legal contract between spouses (embodied by the Civil Union event)
- Split : The end of an informal cohabitation
An event stopping a more involved relationship, automatically also stops one of the other relationships. That is, if there is a cohabitation event, then a marriage event, then a divorce event, then it follows automatically that also the cohabitation came to an end.
Note: One can argue that above is not always true. Here we follow the line that this family relationship came to an end, relationship type being married, although the family is now divorced. If the divorced couple keeps living together for convenience reasons, a new family should be created, with same parents, relationship type Unmarried, and event cohabitation.
Event description field for nuance
The event description field should be used for nuance. Eg. there are many legal bindings possible.
Some examples. Jane and Joe are together. Following descriptions are possible in the event:
- Marriage of Jane and Joe - type Married
- Chatholic Marriage of Jane and Joe - type Married
- Hindu wedding of Jane and Joe - type Married
- Civil Marriage of Jane and Joe - type Civil Union
- Living Together contract of Jane and Joe - type Civil Union
- Samboförhållande of Jane and Joe - type Civil Union
Use of the connection
The reason for the above is to have better control of what reports print. I propose two possible schemes:
- Brief relationship summary
- Detailed relationship summary
In the brief form, the report looks at the relationship type, and prints information depending on the start and stop events of the relationship type
In the detailed form, the report tries to deduce from all events the history of relationship of a couple, ending with the relationship that is the relationship type of the family
Some use cases
1. Example one
Jane and Joe family has following data:
- Living together: 2000: event cohabitation
- child 1 : 2001
- Split : 2002: event Split
- Living together: 2003: event cohabitation
- child 2 : 2003
- Civil Union: 2006 (may): event civil marriage
- Marriage with a service ('rented priest'): 2006 (june) : event marriage,
- description: religious garden ceremony of Jane and Joe
The present relationship type would be married. In reports the brief form would be: "He married Jane on june 2006"
In detailed report, the events are used to determine relationship type "He lived together with Jane from 2000 untill 2002. He lives together with Jane since 2003. He did a civil union with Jane on may 2006. He married Jane on June 2006"
Tools, further possibilities
With the above, the following is possible:
Color code events
Relationship events can have a color in the event tab. Eg Green for start of relation, red for stop.
Check relationship tye tool
A tool to check if the set relationship type corresponds to what GRAMPS deduces from the given events.
Custom relationship type tool
A tool so that people can attach to their custom relationship types also a start and stop event.
Question: I only see use in this if somebody could give an example that indicates custom relationship types are actually useful.
- Relationship: Arranged Marriage: Not a good idea. Better to use relationship Marriage. The fact that it is arranged is an attribute/property.
To be decided.
Relationship - event coupling
Suggestion: I would not store the relationship-event binding in the database, but instead store it in the code. If custom types must be supported, a database solution would be needed, but I do not see the use at the moment
Brief and detailed summary
New functions in ReportUtils.
Expressing relationships is very different from country to country. Needs to be investigated. Eg, civil union cannot be 'He civil union Jane on 12 august', but 'He married Jane on 12 august is ok'.