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

Age might be approximate #602

Open
WGroleau opened this issue Mar 10, 2025 · 3 comments
Open

Age might be approximate #602

WGroleau opened this issue Mar 10, 2025 · 3 comments

Comments

@WGroleau
Copy link

WGroleau commented Mar 10, 2025

DATEs are allowed to have BEF, AFT, ABT, EST, CAL but an inexact AGE only allows < or > (younger than or older than).  If we might have an approximation but don't know whether it is too high or too low, the 7.0.15 doesn't allow for that.

So we should allow ABT or if an operator is desired (for similarity with the others), perhaps ~

Example: When I see on a gravestone "at the age of 85," I have know way of knowing whether they meant "age at last birthday" or "age at nearest birthday."  The 7.0.15 text about rounding down implies that it always means "at last birthday" even though the same section acknowledges it could be the other.

@tychonievich
Copy link
Collaborator

The spec defines how to convert detailed information to AGE payloads, and notes that many sources record some culturally-dependent notion of age rather than mathematically precise information.

Your example of a source stating "at the age of 85" seems to be a perfect example of what the spec means at present. The source does not suggest any ambiguity: it simple says what GEDCOM encodes as AGE 85y. However, you note some ambiguity in source's underlying cultural patterns, recognizing that while it says 85y it might mean something slightly different than "at least 85y0d and less than 86y0d". If that required an ABT/~ then I think almost all AGE payloads would; I'd rather not introduce a new symbol for that case because I fear it would cause people to think all AGE payloads created before the new symbol's introduction are more precise assertions than they are.

Put another way, in g7:type-Age, 85y means either ">85y0d and <86y0d" or "something some source might describe as 85 years old."
If in future minor version we had g71:type-Age that added ~85y, we couldn't change what 85y meant and thus would need ~85y to refer to a broader kind of approximation than just not entirely trusting a source's definition of age. A major version g8:type-Age would not have that constraint and could narrow the meaning of 85y, but I personally don't see us having enough cases of the mathematically-exact version to motivate that change.

That said, I have encountered more narrative sources like diaries and reminiscences that refer to approximate ages like "in my teens" (i.e. >13y and <20y) or "I think I was around 35 when ..." (i.e. ~35y). These are things the current spec cannot handle, and I'd be open to extending the specification to handle them if we think they are common enough to be worth adding. Thus far in my own research they've shown up rarely enough that I've just used AGE.PHRASE for them.

@Norwegian-Sardines
Copy link

g7:AGE is defined as:

The age of the individual at the time an event occurred, or the age listed in the document.

A quick look for g7:type-Age a definition does not pop up!

In my opinion, The AGE payload should never be a calculated value based on the birth/event date information for an individual and transmitted, the AGE should only be based on the age provided by the Source Artifact. Calculating the AGE of an event based on the birth date and the event date presents issues when either of those date change or when two transmissions are merged with conflicting information!

This statement brings into question the exact wording of the g7:AGE definition. it could be interpreted by some applications/users that it should be a calculated value rather than a value based on the Source Artifact! The definition should be:

"The age of the individual at the time an event occurred as listed in the document."

Obviously this creates a backward compatibility issue!

When the Source Artifact gives an approximate age (either expressed or implied) for the individual at the time of the event I would still record the AGE as written in the source artifact not "About" an age! This did in v5.5.1 present an issue for the recording of a piece of data from a Source Artifact when the artifact expressed an approximate age, and why I supported the addition of a PHRASE. The PHRASE payload allowed the data entry person to correctly interpret any additional wording needed to correctly provide the information as presented in the Source Artifact.

@tychonievich
Copy link
Collaborator

Discussed in steering committee 18 MAR 2025

  • We agree that the current AGE definition does not clarify between approximate (ABT-like) and bounded (BET/AND-like) ages.
  • Because these are encoded the same in existing GEDCOM files, we cannot change the definition of AGE payloads in a minor version, but should consider doing so in the next major version.
  • PHRASE can be used to provide additional information today, as described in the 7.0 specification.
  • Some applications use extension substructures under AGE to provide additional machine-readable information. None of these are currently documented in the extension registry. Adding a standard substructure would be possible in a minor version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants