FamilySearch / gedcomx

An open data model and an open serialization format for exchanging genealogical data.
http://www.gedcomx.org
Apache License 2.0
359 stars 67 forks source link

Record name #313

Closed HannesBulk closed 4 years ago

HannesBulk commented 6 years ago

A Person's name is defined as "Given" This field holds the full first name of Birth "Surname" The Family name, in most cases the Fathers name, but free to choice I strongly suggest to add some extra fields: "Shortname" The short firstname used within the family or with friends "Streetname" Extra Unofficial name used for this person "Displayname" The name as to be displayed in an application

Example: Given Name: Johannes Surname: Andersen Shortname: John Streetname: Andy DIsplayname: John Andersen

It's up to the application to fill the displayname with default values.

For future use add or reserve the following possible fields

"Aliasname" Name as alias (Artist name, Writer alias) The last one is more difficult if there ia more than one alias, so perheaps Aliasname1 .. Aliasname9

Example: John (mentioned above) ia an artist, and is known under the name "Joshua Same" Then Aliasname1 can be used to specify this John also wrote some books under another Alias These alias(es) then Can be specified under Aliasname2

For a more flexible number of aliases you'll need to specify an extra record type, similair to Relation and Parent records, linking a person to multiple aliases. This however is beyond the scope of this request. For naw I'll be happy with just a single alias name, that will sufficient for most cases.

stoicflame commented 6 years ago

Hello! Sorry for the late reply.

So help me reconcile the notion of Shortname, Streetname, and Aliasname with the Known Name Types. It seems like both of these could fit as an AlsoKnownAs or Nickname name. No?

Also, couldn't the fullText property of NameForm be used for your Displayname concept?

So here's how I'd represent the example person you give above (I'll use XML since it's easier to read):

<person>
  <name type="http://gedcomx.org/BirthName">
    <nameForm>
      <fullText>Johannes Anderson</fullText>
      <part type="http://gedcomx.org/Given" value="Johannes"/>
      <part type="http://gedcomx.org/Surname" value="Anderson"/>
    </nameForm>
  </name>
  <name type="http://gedcomx.org/AlsoKnownAs">
    <nameForm>
      <fullText>John Anderson</fullText>
      <part type="http://gedcomx.org/Given" value="John"/>
      <part type="http://gedcomx.org/Surname" value="Anderson"/>
    </nameForm>
  </name>
  <name type="http://gedcomx.org/Nickname">
    <nameForm>
      <part type="http://gedcomx.org/Given" value="Andy"/>
    </nameForm>
  </name>
</person>

Alternatively, if you're trying to distinguish between the English form of the name and (say) German form of the name, you can use multiple name forms:

<person>
  <name type="http://gedcomx.org/BirthName">
    <nameForm lang="de">
      <fullText>Johannes Anderson</fullText>
      <part type="http://gedcomx.org/Given" value="Johannes"/>
      <part type="http://gedcomx.org/Surname" value="Anderson"/>
    </nameForm>
    <nameForm lang="en">
      <fullText>John Anderson</fullText>
      <part type="http://gedcomx.org/Given" value="John"/>
      <part type="http://gedcomx.org/Surname" value="Anderson"/>
    </nameForm>
  </name>
  <name type="http://gedcomx.org/Nickname">
    <nameForm>
      <part type="http://gedcomx.org/Given" value="Andy"/>
    </nameForm>
  </name>
</person>