Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft v8.0 replacement structure for personal names. #524

Draft
wants to merge 1 commit into
base: v8.0
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions specification/gedcom-2-data-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -271,24 +271,6 @@ The URI for the `List:Text` data type is `g7:type-List#Text`.

The URI for the `List:Enum` data type is `g7:type-List#Enum`.


## Personal Name

A personal name is mostly free-text. It should be the name as written in the culture of the individual and should not contain line breaks, repeated spaces, or characters not part of the written form of a name (except for U+002F as explained below).

```abnf
PersonalName = nameStr
/ [nameStr] "/" [nameStr] "/" [nameStr]

nameChar = %x20-2E / %x30-10FFFF ; any but '/' and '\t'
nameStr = 1*nameChar
```

The character U+002F (`/`, slash or solidus) has special meaning in a personal name, being used to delimit the portion of the name that most closely matches the concept of a surname, family name, or the like.
This specification does not provide any standard way of representing names that contain U+002F.

The URI for the `PersonalName` data type is `g7:type-Name`.

## Language

The language data type represents a human language or family of related languages, as defined in [BCP 47](https://www.rfc-editor.org/info/bcp47).
Expand Down
107 changes: 67 additions & 40 deletions specification/gedcom-3-structures-1-organization.md
Original file line number Diff line number Diff line change
Expand Up @@ -1048,64 +1048,91 @@ See `SHARED_NOTE_RECORD` for advice on choosing between `NOTE` and `SNOTE`.

A `NOTE_STRUCTURE` can contain a `SOURCE_CITATION`, which in turn can contain a `NOTE_STRUCTURE`, allowing potentially unbounded nesting of structures. Because each dataset is finite, this nesting is also guaranteed to be finite.



#### `PERSONAL_NAME_PIECES` :=
#### `PERSONAL_NAME_STRUCTURE` :=

```gedstruct
n NPFX <Text> {0:M} g7:NPFX
n GIVN <Text> {0:M} g7:GIVN
n NICK <Text> {0:M} g7:NICK
n SPFX <Text> {0:M} g7:SPFX
n SURN <Text> {0:M} g7:SURN
n NSFX <Text> {0:M} g7:NSFX
n NAME {1:1} g8:INDI-NAME
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also need to bump g7:record-INDI to g8:record-INDI as a result of this change

+1 TYPE <List:Enum> {0:1} g8:NAME-TYPE
+2 PHRASE <Text> {0:1} g7:PHRASE
+1 PART <Text> {0:M} g8:NAME-PART
+2 TYPE <List:Enum> {1:1} g8:NAME-PART-TYPE
+2 LANG <Language> {0:1} g7:LANG
+2 TRAN <Text> {0:M} g8:TRAN
+3 LANG <Language> {1:1} g7:LANG
+2 DATE <DateValue> {0:M} g7:DATE
+2 <<SOURCE_CITATION>> {0:M}
+1 FORM <Text> {1:M} g8:NAME-FORM
+2 TYPE <List:Enum> {0:1} g8:NAME-FORM-TYPE
+2 LANG <Language> {0:1} g7:LANG
+2 TRAN <Text> {0:M} g8:TRAN
+3 LANG <Language> {1:1} g7:LANG
+2 DATE <DateValue> {0:M} g7:DATE
+2 <<SOURCE_CITATION>> {0:M}
+1 <<NOTE_STRUCTURE>> {0:M}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need a <<NOTE_STRUCTURE>> under PART and FORM alongside <<SOURCE_CITATION>>

```

Optional isolated name parts; see `PERSONAL_NAME_STRUCTURE` for more details.
A name identifying an individual, which may have multiple forms and be composed of multiple parts.
Both name forms and name parts are called "names" in some situations, but may be distinguished as follows:

- A `g8:NAME-FORM` stores a string used to identify the individual by name; for example "`John Farmer`".
- A `g8:NAME-PART` stores a distinct component of a name; for example, "`John`".
- A `g8:INDI-NAME` stores all the variants and parts of an individual's name that are considered part of a single name.

:::example
"Lt. Cmndr. Joseph Allen jr.” might be presented as
Leonardo da Vinci might have a name structure like this:

```gedcom
1 NAME Lt. Cmndr. Joseph /Allen/ jr.
2 NPFX Lt. Cmndr.
2 GIVN Joseph
2 SURN Allen
2 NSFX jr.
1 NAME
2 FORM Leonardo da Vinci
2 FORM Leonardo di ser Piero da Vinci
2 PART Leonardo
3 TYPE GIVN
2 PART di ser Piero
3 TYPE PATRONYMIC
2 PART da Vinci
3 TYPE LOCATION
2 PART da
3 TYPE PARTICLE
2 PART Vinci
3 TYPE LOCATION
```

There are other ways this could be encoded; the how many parts and forms to add is up to the user.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
There are other ways this could be encoded; the how many parts and forms to add is up to the user.
There are other ways this could be encoded; how many parts and forms to add is up to the user.

Can't parse grammar, not sure if this suggestion is what was intended

:::

This specification does not define how the meaning of multiple parts with the same tag differs from the meaning of a single part with a concatenated larger payload.
However, some applications allow the user to chose whether to combine or split name parts, meaning the tag quantity should be treated as expressing at least a user preference.
Even when multiple `SURN` tags are used, the `PersonalName` data type identifies a single surname substring between its slashes.
The decision of whether two name forms count as a variants of a single name or as distinct names varies by culture and individual.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The decision of whether two name forms count as a variants of a single name or as distinct names varies by culture and individual.
The decision of whether two name forms count as variants of a single name or as distinct names varies by culture and individual.


#### `PERSONAL_NAME_STRUCTURE` :=
It is common for much of each name form to be identified in an name part,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
It is common for much of each name form to be identified in an name part,
It is common for much of each name form to be identified in a name part,

but there many be components of a name with no identified name part
and name parts that do not appear in any name form.

```gedstruct
n NAME <PersonalName> {1:1} g7:INDI-NAME
+1 TYPE <Enum> {0:1} g7:NAME-TYPE
+2 PHRASE <Text> {0:1} g7:PHRASE
+1 <<PERSONAL_NAME_PIECES>> {0:1}
+1 TRAN <PersonalName> {0:M} g7:NAME-TRAN
+2 LANG <Language> {1:1} g7:LANG
+2 <<PERSONAL_NAME_PIECES>> {0:1}
+1 <<NOTE_STRUCTURE>> {0:M}
+1 <<SOURCE_CITATION>> {0:M}
:::example
The Polish family name `Kowalski` has a feminine variant `Kowalska` and plural variant `Kowalscy`.
Including all three variants as name parts even though only one appears in any name form may facilitate searching and indexing in some applications.

```gedcom
1 NAME
2 FORM Alfred Jan Maksymillian Kowalski
2 PART Kowalski
3 TYPE SURN
2 PART Kowalska
3 TYPE SURN, HIDDEN
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per line 1110, should we have a type for "feminine"? And a type for "plural"?

2 PART Kowalscy
3 TYPE SURN, HIDDEN
```
:::

Names of individuals are represented in the manner the name is normally spoken, with the family name, surname, or nearest cultural parallel thereunto separated by slashes (U+002F `/`). Based on the dynamic nature or unknown compositions of naming conventions, it is difficult to provide a more detailed name piece structure to handle every case. The `PERSONAL_NAME_PIECES` are provided optionally for systems that cannot operate effectively with less structured information. The Personal Name payload shall be seen as the primary name representation, with name pieces as optional auxiliary information; in particular it is recommended that all name parts in `PERSONAL_NAME_PIECES` appear within the `PersonalName` payload in some form, possibly adjusted for gender-specific suffixes or the like.
It is permitted for the payload to contain information not present in any name piece substructure.
As with other structures, the first `NAME` in and `INDI` provides the most-preferred name
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
As with other structures, the first `NAME` in and `INDI` provides the most-preferred name
As with other structures, the first `NAME` in an `INDI` provides the most-preferred name

See issue #528 about whether we should replace this statement with some other means of designating the most preferred name.

and its first `FORM` structure provides the most-preferred form of that name.
It is recommended that the first form of the first name be used to label individuals in a user interface or report when a single name string is desired.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm somewhat averse to adding new structure ordering constraints in v8. See discussion in issue #528.


The name may be translated or transliterated into different languages or scripts using the `TRAN` substructure.
It is recommended, but not required, that if the name pieces are used, the same pieces are used in each translation and transliteration.
The order of name parts is not significant; name parts may be reorganized within a name without any change in meaning.

A `TYPE` is used to specify the particular variation that this name is.
For example; it could indicate that this name is a name taken at immigration or that it could be an ‘also known as’ name.
See `g7:enumset-NAME-TYPE` for more details.
The name may be translated or transliterated into different languages or scripts using the `TRAN` substructures.

:::note
Alternative approaches to representing names are being considered for future versions of this specification.
:::
A `TYPE` is used to specify the particular variation that this name, name part, or name form is.
For example; it could indicate that this name is a name taken at immigration or that it could be an ‘also known as’ name.
See `g8:enumset-NAME-TYPE`, `g8:enumset-NAME-PART-TYPE`, and `g8:enumset-NAME-FORM-TYPE` for more details.

#### `PLACE_STRUCTURE` :=

Expand Down
53 changes: 30 additions & 23 deletions specification/gedcom-3-structures-3-meaning.md
Original file line number Diff line number Diff line change
Expand Up @@ -647,6 +647,11 @@ See also `INDIVIDUAL_EVENT_STRUCTURE`.
A reference to an external file.
See the [File Path datatype](#file-path) for more details.

#### `FORM` (Form) `g7:NAME-FORM`

A string representation of a personal name.
See also `PERSONAL_NAME_STRUCTURE`.

#### `FORM` (Format) `g7:FORM`

The [media type](#media-type) of the file referenced by the superstructure.
Expand Down Expand Up @@ -934,9 +939,9 @@ If needed, `text/html` can be converted to `text/plain` using the following step

The name of the superstructure's subject, represented as a simple string.

#### `NAME` (Name) `g7:INDI-NAME`
#### `NAME` (Name) `g8:INDI-NAME`

A `PERSONAL_NAME_STRUCTURE` with parts, translations, sources, and so forth.
A `PERSONAL_NAME_STRUCTURE` with parts, forms, translations, sources, and so forth.

#### `NATI` (Nationality) `g7:NATI`

Expand Down Expand Up @@ -1039,6 +1044,12 @@ and the `PAGE` may describe the entire source.
```
:::

#### `PART` (Name Part) `g8:NAME-PART`

A portion of a personal name, isolated to facilitate identifying its type.
See also `PERSONAL_NAME_STRUCTURE`.


#### `PEDI` (Pedigree) `g7:PEDI`

An enumerated value from set `g7:enumset-PEDI` indicating the type of child-to-family relationship represented by the superstructure.
Expand Down Expand Up @@ -1430,25 +1441,9 @@ Each `TRAN` structure must differ from its superstructure
and from every other `TRAN` substructure of its superstructure
in either its language tag or its media type or both.

#### `TRAN` (Translation) `g7:NAME-TRAN`

A type of `TRAN` substructure specific to [Personal Names](#personal-name).
Each `NAME`.`TRAN` must have a `LANG` substructure.
See also `INDI`.`NAME`.

:::example
The following presents a name in Mandarin, transliterated using Pinyin
#### `TRAN` (Translation) `g8:TRAN`

```gedcom
1 NAME /孔/德庸
2 GIVN 德庸
2 SURN 孔
2 TRAN /Kǒng/ Déyōng
3 GIVN Déyōng
3 SURN Kǒng
3 LANG zh-pinyin
```
:::
A type of `TRAN` substructure for structures with a human-language [Text](#text) payload.

#### `TRAN` (Translation) `g7:PLAC-TRAN`

Expand Down Expand Up @@ -1476,7 +1471,7 @@ and English translation

#### `TRAN` (Translation) `g7:NOTE-TRAN`

A type of `TRAN` for unstructured human-readable text,
A type of `TRAN` for unstructured human-readable text with a media type,
such as is found in `NOTE` and `SNOTE` payloads.
Each `g7:NOTE-TRAN` must have either a `LANG` substructure or a `MIME` substructure or both.
If either is missing, it is assumed to have the same value as the superstructure.
Expand Down Expand Up @@ -1572,9 +1567,21 @@ Other descriptor values might include, for example,
See also `FACT` and `EVEN` for additional examples.
:::

#### `TYPE` (Type) `g7:NAME-TYPE`
#### `TYPE` (Type) `g8:NAME-TYPE`

An list of enumerated values from set `g8:enumset-NAME-TYPE` indicating the types of the name.
The order of values in the list is not significant.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this statement true for all types that are list of enumerated values? If so, maybe we just say it once where List-Enum is defined?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussion For 8.0, we should consider deleting the List-Enum construct alltogether since merging list-enum payloads requires a custom algorithm whereas using multiple Enum structures uses the generic merging algorithm and so is less bug prone.


#### `TYPE` (Type) `g7:NAME-FORM-TYPE`

An list of enumerated values from set `g8:enumset-NAME-FORM-TYPE` indicating the types of the name form.
The order of values in the list is not significant.

#### `TYPE` (Type) `g7:NAME-PART-TYPE`

An list of enumerated values from set `g8:enumset-NAME-PART-TYPE` indicating the types of the name part.
The order of values in the list is not significant.

An enumerated value from set `g7:enumset-NAME-TYPE` indicating the type of the name.

#### `TYPE` (Type) `g7:EXID-TYPE`

Expand Down
73 changes: 71 additions & 2 deletions specification/gedcom-3-structures-4-enumerations.md
Original file line number Diff line number Diff line change
Expand Up @@ -230,14 +230,83 @@ and applications should be prepared to encounter non-current values.
| `SUBMITTED` | All | Ordinance was previously submitted. | Deprecated. This status was defined for use with TempleReady which is no longer in use. |
| `UNCLEARED` | All | Data for clearing the ordinance request was insufficient. | Deprecated. This status was defined for use with TempleReady which is no longer in use. |

### `g7:enumset-NAME-TYPE`
### `g8:enumset-NAME-TYPE`

| Value | Meaning |
| ----- | :---------------------------- |
| `ADOPTED` | Given as part of being adopted into a family. |
| `AKA` | Also known as, alias, etc. |
| `BIRTH` | Name given at or near birth. |
| `DIVORCED` | Name used after a divorce. |
| `FORMAL` | A name only used official, formal settings. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `FORMAL` | A name only used official, formal settings. |
| `FORMAL` | A name only used in official, formal settings. |

| `GENERAL` | A name used in a wide variety of settings, both formal and informal. |
| `NICK` | A descriptive or familiar name that is used instead of, or in addition to, one’s official or legal name. Some cultures use this for any name that is not used in legal documents, others only for names that would be inappropriate in formal settings. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we get rid of NICK and just use other values like INFORMAL etc.?

| `IMMIGRANT` | Name assumed at the time of immigration. |
| `INFORMAL` | A name only used in casual, intimate, or informal settings. |
| `LEGAL` | A name used for legal and official documents, but not in daily use. |
| `MAIDEN` | Maiden name, name before first marriage. |
| `MARRIED` | Married name, assumed as part of marriage. |
| `PROFESSIONAL` | Name used professionally (pen, screen, stage name). |
| `OTHER` | A value not listed here; should have a `PHRASE` substructure |
| `RELIGIOUS` | Religious name, name adopted when joining a religious order. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `RELIGIOUS` | Religious name, name adopted when joining a religious order. |
| `RELIGIOUS` | Religious name, or a name adopted when joining a religious order. |

The pieces separated by comma are not synonymous (since a religious name might be given at a ceremony other than a joining ceremony). Perhaps add "or"?

| `VARIANT` | Different spelling for a name, also spellings based on other languages such as Latin, French. |
| `OTHER` | A value not listed here; should have a `PHRASE` substructure. |

Five of these types deserve additional comparison:

- A `LEGAL` name would be used on a contract but not in formal or informal settings
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- A `LEGAL` name would be used on a contract but not in formal or informal settings
- A `LEGAL` name would be used on a contract but not in formal or informal settings.

Can you give a well-known example of this?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Example "James Earl Carter Jr." (rather than Jimmy Carter)

- A `FORMAL` would be used in formal settings but not informal ones; it is generally also used on contracts unless a different `LEGAL` name is present.
- A `GENERAL` name is used in both formal and informal settings, and on contracts unless a different `LEGAL` name is present.
- An `INFORMAL` name is used in informal settings but not in formal ones.
- A `NICK` is in some way unofficial, though exactly how varies by culture and individual, and may have any of the other types listed here.

### `g8:enumset-NAME-FORM-TYPE`

| Value | Meaning |
| ----- | :---------------------------- |
| `FULL` | How a name is displayed when written out in full. Incompatible with `SHORT`. |
| `SHORT` | An abbreviated version of a name. Incompatible with `SHORT`. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `SHORT` | An abbreviated version of a name. Incompatible with `SHORT`. |
| `SHORT` | An abbreviated version of a name. Incompatible with `FULL`. |

| `INFERRED` | A form not found in a source, but inferred from what was in the source and the local naming patterns. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `INFERRED` | A form not found in a source, but inferred from what was in the source and the local naming patterns. |
| `INFERRED` | A form not found in a source, but inferred from what was in one or more sources and the local naming patterns. |

| `OTHER` | A value not listed here; should have a `PHRASE` substructure. |

It is expected that many name forms will have no `TYPE`.
The researcher-preferred name form is indicated by its being the first `FORM` of the `NAME`, not by any `TYPE` value.

### `g8:enumset-NAME-PART-TYPE`

| Value | Meaning |
| ----- | :---------------------------- |
| `ADOPTED` | Given as part of being adopted into a family. |
| `DIVORCED` | Name used after a divorce. |
| `ESTATE` | House name, farm name, or name after moving into or marrying into a house/farm. Implies `LOCATION`. Incompatible with `SURN`. | |
| `FORMAL` | A name only used official, formal settings. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `FORMAL` | A name only used official, formal settings. |
| `FORMAL` | A name only used in official, formal settings. |

| `GENERAL` | A name used in a wide variety of settings, both formal and informal. |
| `GENERATIONAL` | A name part shared by particular generation of a family (i.e. siblings or first cousins, but not their parents or children). Implies a cultural pattern of sharing this part, not just a particular family's aesthetic naming patterns. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `GENERATIONAL` | A name part shared by particular generation of a family (i.e. siblings or first cousins, but not their parents or children). Implies a cultural pattern of sharing this part, not just a particular family's aesthetic naming patterns. |
| `GENERATIONAL` | A name part shared by particular generation of a family (i.e., siblings or first cousins, but not their parents or children). Implies a cultural pattern of sharing this part, not just a particular family's aesthetic naming patterns. |

| `GIVN` | A name given to an individual by someone's choice, rather than dictated by the rules of the culture, often to be used to identify that individual that individual and differentiate them from other members of the same family or community. Incompatible with `SURN`. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `GIVN` | A name given to an individual by someone's choice, rather than dictated by the rules of the culture, often to be used to identify that individual that individual and differentiate them from other members of the same family or community. Incompatible with `SURN`. |
| `GIVN` | A name given to an individual by someone's choice, rather than dictated by the rules of the culture, often to be used to identify that individual and differentiate them from other members of the same family or community. Incompatible with `SURN`. |

| `HONORIFIC` | A word or phrase attached to a name in formal or polite context to indicate station, such as "Miss", "Doctor", "さん", "様", "mademoiselle", and so on. |
| `IMMIGRANT` | Name assumed at the time of immigration. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd propose a strawman guideline: only have enum values where there is a known reason an application would treat it differently in some algorithm (not just with a different label in UI).

Name assumed at time of immigration or divorce or some other event would be better off, in my view, of having an event associated with the name change rather than having some type that has to be indirectly associated with some event by trying to associate some enum type with some event type of a different name ("Immigraton" / IMMI)

| `INFORMAL` | A name only used in casual, intimate, or informal settings. |
| `LEGAL` | A name used for legal and official documents, but not in daily use. |
| `LOCATION` | A name indicating a location of note, such as a city associated with the person. Often includes "of" or "from" type particles. Incompatible with `SURN`. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There should be a way to associate a PLAC or SPLAC with the name then.

| `MAIDEN` | Maiden name, name before first marriage. |
| `MARRIED` | Married name, assumed as part of marriage. |
| `MATERNAL` | A name inherited from the individuals' mother's family. Implies `SURN`. |
| `MATRONYMIC` | A name of the individual's mother, possibly with a matronymic modifier. |
| `NICK` | A descriptive or familiar name that is used instead of, or in addition to, one’s official or legal name. Some cultures use this for any name that is not used in legal documents, others only for names that would be inappropriate in formal settings. |
| `NPFX` | Text that appears on a name line before the given and surname parts of a name. Implies that the person attaches this part to their name, but does not consider it part of the name itself. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This description is not, in my opinion, useful in light of FORM being used to show where it appears. That is, location within a FORM need not be a PART in my opinion. If the description were recast to be more analogous to how SPFX' is defined below, it would be fine because now it's not defined by order but by algorithm. If that were done, NPFXandNSFXcould be combined just likeSPFX` no longer means "prefix" but could be a suffix or even intermediate words, as it is defined below.

| `NSFX` | Text which appears on a name line after or behind the given and surname parts of a name. Implies that the person attaches this part to their name, but does not consider it part of the name itself. |
| `PARTICLE` | A name part that connects or modifies other name parts but is not itself considered a name, like "of" or "son of". |
Copy link
Collaborator

@dthaler dthaler Aug 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussion: what about OCCUPATION. That would seem to be a common name part in some cultures and times in history. E.g., "Simon the Tanner" as a biblical name.

| `PATERNAL` | A name inherited from the individuals' father's family. Implies `SURN`. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `PATERNAL` | A name inherited from the individuals' father's family. Implies `SURN`. |
| `PATERNAL` | A name inherited from the individual's father's family. Implies `SURN`. |

| `PATRONYMIC` | A name of the individual's father, possibly with a patronymic modifier like prefix "bar" or "di ser" or suffix "sen" or "dotter". |
| `PRIMARY` | The name of most prominent in importance among the names of that type. Requires `GIVN`, `SURN`, `NPFX`, or `NSFX`. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `PRIMARY` | The name of most prominent in importance among the names of that type. Requires `GIVN`, `SURN`, `NPFX`, or `NSFX`. |
| `PRIMARY` | The name of most prominence in importance among the names of that type. Requires `GIVN`, `SURN`, `NPFX`, or `NSFX`. |

I'm not yet convinced this is a good way to designate primary, based on the discussion in #528, since it requires special handling (i.e., apps are much more likely to do it wrong) when merging two individuals with different PRIMARY names, resulting in more than one PRIMARY which would violate the "most" part of the definition.

| `PROFESSIONAL` | Name used professionally (pen, screen, stage name). |
| `RANK` | A designation of rank or position, for example in a military ("private first class"), nobility ("viscount de Spoelberch"), or educational ("Ph.D.") system. |
| `RELIGIOUS` | Religious name, name adopted when joining a religious order. |
| `ROEPNAAM` | A name provided at birth for use in all situations except legal documents. Implies `GIVN` and `BIRTH`. The tag of this value comes from Dutch instead of English because no suitable English word was found; the value does not imply Dutch culture or ancestry. |
| `RUFNAME` | A given name underlined or otherwise indicated on documents as one not to be omitted when only one given name is used. Implies `GIVN` and `PRIMARY`. The tag of this value comes from German instead of English because no suitable English word was found; the value does not imply German culture or ancestry. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The "only one" part of this definition is confusing/ambiguous. Does that mean it is only permitted to have one RUFNAME per NAME? (There may be some interaction with the PRIMARY discussion as well.)

| `SPFX` | A name piece used as a non-indexing pre-part of a surname. Should be displayed as part of surname, but ignored when sorting by surname. |
| `SURN` | A family name passed on or used by members of a family. Because `SURN` was part of GEDCOM before most other non-`GIVN` name part types, some existing data labels name parts as `SURN` that are more correctly labeled as `LOCATION` or `PATRONYMIC`; that use of `SURN` is not recommended for new data. Incompatible with `GIVN`. |
| `UNIFIED` | Unified spelling for a name part. Usually, though not always, paired with `VARIANT` and `SURN`. |
| `VARIANT` | Different spelling for a name, such as an alternative spelling or gendered form; generally used for variants that are not part the name's written forms but may be useful for indexing or searching. |
| `OTHER` | A value not listed here; should have a `PHRASE` substructure. |

See also `g8:enumset-NAME-TYPE` for comparisons of some of these values.