Middle Name in Gramps Data Model

[v5.1.5 @ Win10]

Is it possible to have middle name separated from first name – with a separate input box in the name data-entry template and a separate variable for report formatting purpose?


It depends on what you want to do with it. You didn’t explain your goal.

If you consider the middle name as another given name, this is effectively impossible. But if the middle name has a special significance for you, not quite a “standard” middle name but some “extension” of the family name, you can use the name editor to enter the middle name as another “Surname” or as a “Prefix”.

However, you must think thoroughly about it because has severe implications on how names are sorted in the various screens and lists. Only abusing the “Prefix” field will allow you to manipulate individually the middle name as [pre] in the reports.

Be aware that this is a violation of the name model in Gramps and will result in incompatibilities when exchanging data or if you have names with real prefixes like von, van or de.

1 Like

Thanks for your reply & thoughts.

I should have explained in my original post that I’d like to be able to display a person’s name in two different forms depending on a report’s target audience – the western standard form of “Given-name Middle Family-name” and the Vietnamese form “Family-name Middle Given-name”.

Can you put one name in the Given field and the other in the Nickname field, and use the name format editor (in Preferences - Display) to create the different display versions?

1 Like

I think that would have been a good workaround – except that in my use-case many individuals also have Nick name(s). :slight_smile:

There is the Called name field. While coded to only accept one of the Given names, you can enter any name. It will display as red alerting you that it is nonconforming but will accept the entry…

I am curious: is there a reason why the Gramps data model does not support separe fields for First and Middle names?

The problem with Middle name is that it is culturally biased.

In some cultures, the number of names is not nearly so limited as 2. So the names the children are “Given” might include a saint name a call name, a couple namesake, maternal surname… The list is unlimited.

So a separate middle name field is just too limiting.

Quite right. My father has 5 given names, so there is no middle one. And the only way forward that I can think of, is a model that expands the one that we have for surnames, where you can enter each one in a separate field to the whole name, and including titles. That would make it easier to display names where a title like Prince comes after the given names, and right before the famlly name.

And with such a model, it is also easier to reverse the sequence for display and reports.

Perhaps the Alternative Names feature could be expanded to have a cultural or language Bias?

The Place Name allows a language & era to be applied. The Gramps displays the form & variant appropriate to the Event & OS language.

That might be nice for Personal names too. e.g., a daughter named Barbara might been called “Babsie” as an infant, “Babs” as a “Barb” as a young woman, “Barbara” as a mature adult, and “battleax” as an embittered ancient.

1 Like

Here’s a part of a video that I also posted in the development section. It comes from RootsTech, and the part that I post here starts with well known blogger James Tanner talking about names:

If you watch the whole video, you will also learn about ideas for sources & citations, and about things that we have already implemented in locations (places), from our friend Albert Emmerich.

Middle name is not necessarily just another/alternate Given name as it appears to be predominantly the case in many western cultures.

For example, in my traditional culture a person can have more than one Given name each having the form { Middle First }. The Middle name is sometimes used to convey hint of gender when the First name is one that is popularly adopted regardless of gender; other times it serves to add further meaning to the First name – e.g., “Bích Hà” (“Blue River”), “Mai Uyển” (“Apricot Grove”).

Allowing cultural differences is one of the reasons that the Given Name field is unstructured.

You can use unstructured data in any way you like. And the Alternative Names lets you support multiple variants.

Since is is unstructured, it cannot support rearranging of elements in order to conform to cultural rules.

I am aware of what you say, because I know a couple of Vietnamese here, and learned a bit about your culture. And apart from the names, I was also told that it is easy to be misunderstood when you have a cold.

I just looked up a former colleague who I knew by the name Bich Chi, and I also had a colleague who happened to be adopted by a cousin, who is called Na Mee. She’s from South Korea, and now uses a Dutch surname.

We have more cultural differences in our community, for example for call names. In Germany, these are often a middle name, so that a Johann Peter is called Peter, but in my country, they’re often simplified versions of the 1st name, like Frans for Franciscus, but for my grandmother, it is a simplified version of her middle name, Annie for Christina Antonia. These are also situations which are not really supported by Gramps.

Did you look at the video that I posted? Name parts are part of the GedcomX standard, and the people that were involved in that are also getting involved in future versions of GEDCOM 7.x, and they are explicitly asking for comments.

But that can be accomodated by adding a language or culture property, right? That would help me suppress the warning that I get when a call name is not an exact copy of the middle name, like I illustrated above.

More name parts would also allow me to print a name like Boudewijn baron van Ittersum, where baron is a tittle that sits between the person and the family name. They would also make it easier to add titles behind a name, like for Charles, Prince of Wales. I put the latter part in the suffix now, including the comma, but that is not very nice. And here too, name parts would make it easier to handle the dozen titles of our king.

It would have to a great deal more than that. A data structure would have to be defined. All the existing data, inbound parting data and name GUI would have to redesigned. Extensive cultural & language naming rules would have to be defined. Gramps would have so much feature creep in its name support overhead that it might become too sluggish or complex to use.

On top of all that it wouldn’t be GEDCOM 5.5.1 compatible. (And I have ZERO confidence that the GEDCOM7 committee will actually successfully negotiate a name standards compromise.)

That’s right. It might be Better GEDCOM and FHISO all over again, and GedcomX, that’s still no further than the protocol between a few desktop programs and FamilySearch.

And in all honesty, I do think that the current name editor is already a nuisance, a bit, being much harder to use than the one in PAF, where I can just type William /Gates/ III.

OTOH, I don’t think that adding an language to the name as a whole is that bad, because we already have an attribute to select the preferred name, and we have it in the locations too, which are not very GEDCOM 5.5.1 compatible either. You can simply omit that from the GEDCOM export to be compliant.

And I can tell you from experience that even when we follow GEDCOM 5.5.1 rules for GEDCOM export, some names are messed up by other programs, for the simple reason that the GEDCOM 5.5.1 standard is quite bad. When I have a surname without prefix followed by one with a prefix, it ends up mangled in most other software that I use to connect to FamilySearch.

And in those situations, good old PAF still rules.

And believe it or not, there are programs that already support GEDCOM 7:

It would have been great if the “unstructured” Given name can consist of a small number (e.g., 3?) of indexed sub-strings each with no associated pre-defined semantic (i.e., “unstructured”) – so as to enable flexibility in display/report formatting.

I noticed that Surname appears to support the structure of “multi-components” with “connectors” between them, if so perhaps this can be extended to apply to Given name as well.

Re: “Alternative Names” – I am not able to find any reference for their usage in Gramps or its Data Model.

That’s an interesting point.

There is a “Data Entry Gramplet” add-on that has a customized Name (only supporting “Surname, Given” format) and date/place (only supporting <date>" in "<hierarchical Place title> format) parser.

It would be interesting if someone wrote additional predefined parsers. Then added a feature to let you hint to the Gramplet which format you would want to be parsed.

So if you were pasting from a Source that used the PAF style name format, you’d only have to select that once in the session.

In the Person block of the Data Model, note that there is a primary_name and unlimited optional alternate_names. Both point to the same design of name structures.