GEPS 001: Relationship type event link

From Gramps
Revision as of 19:36, 20 August 2007 by Bmcage (talk | contribs)
Jump to: navigation, search

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.

Introduction

The basis for this GEPS is bug 1121 and this mail discussion.

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 ?

What does GEDCOM say ?

Before doing anything, let's investigate how the GEDCOM standard solves this.


First, there is no relationship type in GEDCOM, so export and import of GEDCOM means you loose all your relationship type information.


So how does one know if somebody is Married in church or legally? GEDCOM says (read 1 and 2):

n [ ENGA | MARR | MARB | MARC ] [Y|<NULL>]  {1:1}
   +1 <<EVENT_DETAIL>>  {0:1}

So Marriage has a special event tag, where custom events have:

n  EVEN          {1:1}
   +1 <<EVENT_DETAIL>>  {0:1}

The tag MARR has the defenition:

 MARR {MARRIAGE}: = A legal, common-law, or customary event of creating a family unit 
 of a man and a woman as husband and wife. 

So marriage is the process of making a husband and wife, which are legal terms. Nowadays, law provides in contracts which make people partners, not necessarely husband and wife.

Note that Divorce also has its own event tag:

DIV {DIVORCE}: = An event of dissolving a marriage through civil action. 

I don't know, but I would not be surprosed if also some churches allow divorce of their weddings. In cathalic church it is possible after a clergical law process...

Anyway, it becomes interesting in the EVENT_DETAIL section which has

n  TYPE <EVENT_DESCRIPTOR>  {0:1}

of which the defenition is:

A descriptor that should be used whenever the EVEN tag is used to define the event being cited. For example, if the event was a purchase of a residence, the EVEN tag would be followed by a subordinate TYPE tag with the value "Purchased Residence." Using this descriptor with any of the other defined event tags basically classifies the basic definition of the associated tag but does not change its basic process.

It becomes better, as some examples are given:

The MARR tag could be subordinated with a TYPE tag and EVENT_DESCRIPTOR value of Common Law. Other possible descriptor values might include "Childbirth%unmarried," "Common Law," or "Tribal Custom," for example. The event descriptor should use the same word or phrase and in the same language, when possible, as was used by the recorder of the event. Systems that display data from the GEDCOM form should be able to display the descriptor value in their screen or printed output.

So GEDCOM allows to store relationship types subordinate to the MARR tag, solving the problem of knowing if couple is married, living together, unmarried, in civil union, ....

What does GRAMPS make of this?

Clearly, in GRAMPS the relationship type is meant to indicate how a couple relates to each other in the absence of events. Due to it's position, users of GRAMPS will however also set the relationship type when events are given, which might lead to conflict.

Does the TYPE event exist in GRAMPS? It does for custom tags, where it is used for the event name:

1 EVEN
2 TYPE Residence

However, for Marriage event, it is not used! There is a Description field in GRAMPS, but that uses something else: it is a text description not exported to GRAMPS, that on import is automatically filled up (eg Marriage of Tarzan, Joe and Doe, Jane)

Proposal

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:

  1. Married : any religeous union
  2. Civil Union: any civil legal union
  3. Living Together: people living together without religeous or legal union, but with an implied relationship of mutual love.
  4. Unmarried: a family with no bond whatsoever (for bastard children, ...) or a family living together without a mutual love.
  5. 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.

Proposal:

Relationship Start event Stop event priority
Married Marriage Divorce 1
Civil Union Civil Union Divorce, Union Annulment 2
Living Together Cohabitation Divorce, Union Annulment, Split 3
Unmarried NA NA 4
Unknown NA NA 5

In the above, 4 new standard events are introduced:

  1. Civil Union : Now Marriage is used for this. Civil Union would indicate that no religeous marriage ceremony has been performed, only a legal one
  2. Cohabitation: People of a family starting to live together
  3. Union Annulment : The annulment of a legal contract between spouses (embodied by the Civil Union event)
  4. Split : The end of an informal cohabitation

However, on export to GEDCOM, all start relationships are exported as:


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:

  1. Brief relationship summary
  2. 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

Use Cases

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.

Examples:

  • Relationship: Arranged Marriage: Not a good idea. Better to use relationship Marriage. The fact that it is arranged is an attribute/property.

Code Implementation

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.

Localization

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'.