-
Notifications
You must be signed in to change notification settings - Fork 22
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
Add note about empty place levels #495
Comments
My observation is: Many applications default to city, county, state, country and ignore any FORM (from HEAD and from the superstructure PLAC). This said 2 PLAC Virginia Beach, Virginia, USA will show a county Virginia, and state USA in those applications. This will not happen for the often used version 2 PLAC Virginia Beach, , Virginia, USA As long as I can describe a place by the four jurisdictions city, county, state, country, I would prefer to use the empty value for a missing / unknown jurisdiction, and not give a FORM in every call of this place. |
Personally, I think |
What do said applications do when they get PLAC payloads with a larger number of levels, such as 6? |
I suspect |
Discussed in steering committee 2 JULY 2024
|
FWIW, my own application ignores empty place levels. Firstly, when navigating place hierarchies and maps, it becomes necessary to create dummy Secondly, like
For the same reason, I also ignore |
The way of describing places (including buildings, cemetaries, churches, parishes etc) is outdated in GEDCOM. There is great demand to switch to a structure of hierarchical objects. GEDCOM 7.0 and its PLAC, PLAC.FORM structure fails to fulfill the requirements:
All of these conditions will result in varying PLAC payloads for the same place object, and GEDCOM 7.0 does not provide a way to show that these payloads describe the same place. A workaround may be to use EXID ans EXID.TYPE to point to an external database like the Historic Gazetteer (gov.genealogy.net). Doing this, the hierarchy of jurisdictions is no longer needed as every object in describes uniquely the place, providing the type of the object, the time dependant jurisdictions of next levels as well as the name in different languages, at differnet times and so on. Based on these ideas the German GEDCOM-L group has defined an extension of "location records", using one record for every place object and providing all the data known for the object. In GEDCOM 5.5.1 and in GEDCOM 7.0 we cite these location records by 2 PLAC <place payload>
3 _LOC <XREF:_LOC> By this we still have the structure in GEDCOM files which will be imported by other applications not using the _LOC records, but the place payload may vary for the same place object. My application uses these _LOC records and the user may identify different PLAC payloads as describing the same object. The payloads can be kept as is, only identifying the object by assigning the XREF:_LOC. The application provides the interpretation of PLAC.FORM, too, not restricted to city objects, but including builings, cemetaries, churches and other objects. The observation is, that users use the identifying process of different place payloads merging them in one place object, but do not use the PLAC.FORM structures provided by the application. As most applications do not interpret the FORM data, and by this the transfer of place data in between applications is based on the PLAC payload only, we should not modify any elements in the GEDCOM 7.x spec for places which would require modifications of the applications. I propose to switch to an location record system in next major GEDCOM version, and do this as soon as possible. |
Based on discussion in issue FamilySearch#495 Signed-off-by: Dave Thaler <[email protected]>
Discussion in GEDCOM Steering Committee 8 OCT 2024
|
* Add note about blank payloads Based on discussion in issue #495 Signed-off-by: Dave Thaler <[email protected]> * Update specification/gedcom-3-structures-1-organization.md * Update specification/gedcom-3-structures-1-organization.md * Update specification/gedcom-3-structures-1-organization.md --------- Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]>
* Update extracted files (#443) Co-authored-by: Luther Tychonievich <[email protected]> * decribe branches in README.md (#451) * decribe branches in README.md * Update README.md Co-authored-by: Dave Thaler <[email protected]> --------- Co-authored-by: Dave Thaler <[email protected]> * Add contact info to auto-generated YAML files (#454) Per discussion in steering committee meeting 2024-04-04, using <https://gedcom.io/community/> as the contact info because that page describes various means of contact and is expected to be updated from time to time as means of contact change. * Add CI/CD workflow to validate YAML files (#457) * Add CI/CD workflow to validate YAML files Signed-off-by: Dave Thaler <[email protected]> * Update YAML files to resolve yamllint errors Signed-off-by: Dave Thaler <[email protected]> * Update .github/workflows/validate-yaml.yml * Update .github/workflows/validate-yaml.yml --------- Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * yamllint is recursive (#460) Avoid validating the same file multiple times https://github.com/FamilySearch/GEDCOM/actions/runs/8838156091/job/24268618756 under "Validate YAML" shows multiple occurences of files under .github/workflow since .github and .github/workflow are both passed to yamllint Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Add Separation event (#459) * Add Separation event * Remove FS API reference * Fix workflow (#462) https://github.com/FamilySearch/GEDCOM/actions/runs/9044561163 failure reports: "The workflow is not valid. .github/workflows/propagate-main-to-v7.1.yml (Line: 18, Col: 3): The identifier 'merge-to-v7.1' is invalid. IDs may only contain alphanumeric characters, '_', and '-'. IDs must start with a letter or '_' and and must be less than 100 characters." This PR therefore removes the '.' that is causing the failure. Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Track request for Separated as a future FAM attribute (#469) Related to PR #459 which tracks the separation event Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Fix reference to FilePath data type (#466) Fixes #465 Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Typo in README.md (#472) * Add the meaning of WWW (#480) * Add the meaning of WWW Previously (in both 5.5.1 and 7.0.0–7.0.14) `WWW` was defined only by the type of is payload. This is an attempt to fix that without invalidating any existing files. Resolves #476 * Update specification/gedcom-3-structures-3-meaning.md Co-authored-by: Dave Thaler <[email protected]> --------- Co-authored-by: Dave Thaler <[email protected]> * Remove substructure-specific extension wording (#481) Resolves #478 * Add some possible additional family events for consideration (#479) Co-authored-by: Luther Tychonievich <[email protected]> * Clarify no-FORM PLACs (#487) Resolves #486 * Define "principle date" (#492) * Define "principle date" As pointed out in #488 and #490, the definition of DATE includes the vague phrase "principle date" which could use some clarification. This is my effort to provide that clarification. Note, if competing definitions of the principle date in these contexts exists then this suggestion could be seen as backwards-incompatible and may need to be reworded as a non-normative recommendation or note. That said, I'm not aware of any conflicting definitions. Resolves #490 * typos * typo * Update extracted files (#485) Co-authored-by: Luther Tychonievich <[email protected]> * Clarify nickname (#482) * Clarify nickname Add additional clarification to nickname, explaining the word's meaning in English which is not shared by several European countries. See [this comment](#473 (comment)) and the rest of issue #473 for more on why this clarification is needed. Although #473's discussion covers many more topics, if we go back to the title and first question in the issue I think this resolves #473. * Update specification/gedcom-3-structures-3-meaning.md * Change recommendation * Update specification/gedcom-3-structures-3-meaning.md * Update specification/gedcom-3-structures-3-meaning.md --------- Co-authored-by: Dave Thaler <[email protected]> * Update extracted files (#501) Co-authored-by: Luther Tychonievich <[email protected]> * Restore 3.0's definition of jurisdiction (#506) * Restore 3.0's definition of jurisdiction Restored the definition of "jurisdiction" that was present in version 3.0. Resolved #496 * Update specification/gedcom-3-structures-3-meaning.md Additional examples and less proscriptive text * Update extracted files (#508) Co-authored-by: Luther Tychonievich <[email protected]> * Increase largest PLAC example (#514) * Increase largest PLAC example resolves #512 * Update specification/gedcom-3-structures-3-meaning.md * Update extracted files (#515) Co-authored-by: Luther Tychonievich <[email protected]> * Fix validate-yaml warnings (#513) Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> Co-authored-by: Luther Tychonievich <[email protected]> * Update changelog.md (#525) * Update changelog.md We've been making changes without updating the changelog. This summarizes the changes since v7.14 was released. * Update changelog.md * Update changelog.md --------- Co-authored-by: Dave Thaler <[email protected]> * EXID.TYPE for BillionGraves.com and WikiTree identifiers (#540) * EXID.TYPE for BillionGraves.com and WikiTree identifiers Fixes #539 * Update exid-types.json Co-authored-by: Luther Tychonievich <[email protected]> * Apply suggestions from code review Co-authored-by: Luther Tychonievich <[email protected]> --------- Co-authored-by: Dave Thaler <[email protected]> Co-authored-by: Luther Tychonievich <[email protected]> * v7.0.15 release (#537) Co-authored-by: Dave Thaler <[email protected]> * Update exid-types.json (#543) * Update exid-types.json Resolve incorrect URIs as noted in #539 * move /name * move /name * move /name * move /name * Clarify a deprecation (#547) * Update extracted files (#542) Co-authored-by: Dave Thaler <[email protected]> * Fix documentation confusion about HEAD-SOUR-DATA (#553) * Make HEAD.SOUR.DATA wording consistent between two places in spec Signed-off-by: Dave Thaler <[email protected]> * Deprecate HEAD.SOUR.DATA Signed-off-by: Dave Thaler <[email protected]> * Update specification/gedcom-3-structures-1-organization.md * Update specification/gedcom-3-structures-3-meaning.md * Update specification/gedcom-3-structures-3-meaning.md --------- Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Add note about blank payloads (#554) * Add note about blank payloads Based on discussion in issue #495 Signed-off-by: Dave Thaler <[email protected]> * Update specification/gedcom-3-structures-1-organization.md * Update specification/gedcom-3-structures-1-organization.md * Update specification/gedcom-3-structures-1-organization.md --------- Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Always quote tags (#560) * Update generate-files to use a PAT (#557) * Fix names of workflows * Make generate-files use a PAT so that validate-yaml will run The PAT is already generated and configured in the repository secrets Fixes #503 Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Update extracted files (#555) Co-authored-by: Dave Thaler <[email protected]> --------- Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Luther Tychonievich <[email protected]> Co-authored-by: Luther Tychonievich <[email protected]> Co-authored-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> Co-authored-by: Christopher Horn <[email protected]> Co-authored-by: Dylan Stephano-Shachter <[email protected]> Co-authored-by: elyoh <[email protected]> Co-authored-by: Dave Thaler <[email protected]>
* Update extracted files (#443) Co-authored-by: Luther Tychonievich <[email protected]> * decribe branches in README.md (#451) * decribe branches in README.md * Update README.md * Add contact info to auto-generated YAML files (#454) Per discussion in steering committee meeting 2024-04-04, using <https://gedcom.io/community/> as the contact info because that page describes various means of contact and is expected to be updated from time to time as means of contact change. * Add CI/CD workflow to validate YAML files (#457) * Add CI/CD workflow to validate YAML files Signed-off-by: Dave Thaler <[email protected]> * Update YAML files to resolve yamllint errors Signed-off-by: Dave Thaler <[email protected]> * Update .github/workflows/validate-yaml.yml * Update .github/workflows/validate-yaml.yml --------- Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * yamllint is recursive (#460) Avoid validating the same file multiple times https://github.com/FamilySearch/GEDCOM/actions/runs/8838156091/job/24268618756 under "Validate YAML" shows multiple occurences of files under .github/workflow since .github and .github/workflow are both passed to yamllint Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Add Separation event (#459) * Add Separation event * Remove FS API reference * Fix workflow (#462) https://github.com/FamilySearch/GEDCOM/actions/runs/9044561163 failure reports: "The workflow is not valid. .github/workflows/propagate-main-to-v7.1.yml (Line: 18, Col: 3): The identifier 'merge-to-v7.1' is invalid. IDs may only contain alphanumeric characters, '_', and '-'. IDs must start with a letter or '_' and and must be less than 100 characters." This PR therefore removes the '.' that is causing the failure. Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Track request for Separated as a future FAM attribute (#469) Related to PR #459 which tracks the separation event Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Fix reference to FilePath data type (#466) Fixes #465 Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Typo in README.md (#472) * Add the meaning of WWW (#480) * Add the meaning of WWW Previously (in both 5.5.1 and 7.0.0–7.0.14) `WWW` was defined only by the type of is payload. This is an attempt to fix that without invalidating any existing files. Resolves #476 * Update specification/gedcom-3-structures-3-meaning.md Co-authored-by: Dave Thaler <[email protected]> --------- Co-authored-by: Dave Thaler <[email protected]> * Remove substructure-specific extension wording (#481) Resolves #478 * Add some possible additional family events for consideration (#479) Co-authored-by: Luther Tychonievich <[email protected]> * Clarify no-FORM PLACs (#487) Resolves #486 * Define "principle date" (#492) * Define "principle date" As pointed out in #488 and #490, the definition of DATE includes the vague phrase "principle date" which could use some clarification. This is my effort to provide that clarification. Note, if competing definitions of the principle date in these contexts exists then this suggestion could be seen as backwards-incompatible and may need to be reworded as a non-normative recommendation or note. That said, I'm not aware of any conflicting definitions. Resolves #490 * typos * typo * Update extracted files (#485) Co-authored-by: Luther Tychonievich <[email protected]> * Clarify nickname (#482) * Clarify nickname Add additional clarification to nickname, explaining the word's meaning in English which is not shared by several European countries. See [this comment](#473 (comment)) and the rest of issue #473 for more on why this clarification is needed. Although #473's discussion covers many more topics, if we go back to the title and first question in the issue I think this resolves #473. * Update specification/gedcom-3-structures-3-meaning.md * Change recommendation * Update specification/gedcom-3-structures-3-meaning.md * Update specification/gedcom-3-structures-3-meaning.md --------- Co-authored-by: Dave Thaler <[email protected]> * Update extracted files (#501) Co-authored-by: Luther Tychonievich <[email protected]> * Restore 3.0's definition of jurisdiction (#506) * Restore 3.0's definition of jurisdiction Restored the definition of "jurisdiction" that was present in version 3.0. Resolved #496 * Update specification/gedcom-3-structures-3-meaning.md Additional examples and less proscriptive text * Update extracted files (#508) Co-authored-by: Luther Tychonievich <[email protected]> * Increase largest PLAC example (#514) * Increase largest PLAC example resolves #512 * Update specification/gedcom-3-structures-3-meaning.md * Update extracted files (#515) Co-authored-by: Luther Tychonievich <[email protected]> * Fix validate-yaml warnings (#513) Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> Co-authored-by: Luther Tychonievich <[email protected]> * Update changelog.md (#525) * Update changelog.md We've been making changes without updating the changelog. This summarizes the changes since v7.14 was released. * Update changelog.md * Update changelog.md --------- Co-authored-by: Dave Thaler <[email protected]> * EXID.TYPE for BillionGraves.com and WikiTree identifiers (#540) * EXID.TYPE for BillionGraves.com and WikiTree identifiers Fixes #539 * Update exid-types.json Co-authored-by: Luther Tychonievich <[email protected]> * Apply suggestions from code review Co-authored-by: Luther Tychonievich <[email protected]> --------- Co-authored-by: Dave Thaler <[email protected]> Co-authored-by: Luther Tychonievich <[email protected]> * v7.0.15 release (#537) Co-authored-by: Dave Thaler <[email protected]> * Update exid-types.json (#543) * Update exid-types.json Resolve incorrect URIs as noted in #539 * move /name * move /name * move /name * move /name * Clarify a deprecation (#547) * Update extracted files (#542) Co-authored-by: Dave Thaler <[email protected]> * Fix documentation confusion about HEAD-SOUR-DATA (#553) * Make HEAD.SOUR.DATA wording consistent between two places in spec Signed-off-by: Dave Thaler <[email protected]> * Deprecate HEAD.SOUR.DATA Signed-off-by: Dave Thaler <[email protected]> * Update specification/gedcom-3-structures-1-organization.md * Update specification/gedcom-3-structures-3-meaning.md * Update specification/gedcom-3-structures-3-meaning.md --------- Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Add note about blank payloads (#554) * Add note about blank payloads Based on discussion in issue #495 Signed-off-by: Dave Thaler <[email protected]> * Update specification/gedcom-3-structures-1-organization.md * Update specification/gedcom-3-structures-1-organization.md * Update specification/gedcom-3-structures-1-organization.md --------- Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Always quote tags (#560) * Update generate-files to use a PAT (#557) * Fix names of workflows * Make generate-files use a PAT so that validate-yaml will run The PAT is already generated and configured in the repository secrets Fixes #503 Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> * Update extracted files (#555) Co-authored-by: Dave Thaler <[email protected]> * Don't warn about use of "on" as a YAML key (#562) Per documentation at https://yamllint.readthedocs.io/en/stable/rules.html#module-yamllint.rules.truthy Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> --------- Signed-off-by: Dave Thaler <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Luther Tychonievich <[email protected]> Co-authored-by: Luther Tychonievich <[email protected]> Co-authored-by: Dave Thaler <[email protected]> Co-authored-by: Dave Thaler <[email protected]> Co-authored-by: Christopher Horn <[email protected]> Co-authored-by: Dylan Stephano-Shachter <[email protected]> Co-authored-by: elyoh <[email protected]> Co-authored-by: Dave Thaler <[email protected]>
The discussion of
<g7:PLAC>
says:The sentence "Any jurisdiction’s name that is missing is still accounted for by an empty string in the list." is somewhat counter-intuitive. That is, the reader wonders: why would one not just remove that level from
PLAC.FORM
and omit the empty level?For example, why have:
instead of:
which certainly makes for smaller files? This seems to warrant a note at least.
Some possible cases to consider:
PLAC.FORM
is absent and theHEAD.FORM
has "City, County, State, Country", but then why not recommend addingPLAC.FORM
?. OR,PLAC.FORM
is absent andHEAD.FORM
is absent and app defaults are "City, County, State, Country". But relying on that being the default in all apps is error prone and certainly not implied by the spec, so usingFORM
should be recommended instead, and PR Clarify no-FORM PLACs #487 explicitly adds "If neither FORM exists, the meaning of the elements are not defined in this specification beyond being names of jurisdictions of some kind, ordered from smallest to largest." OR,PLAC.FORM
and/orHEAD.FORM
are present, but the reading app does not understandFORM
and so ignores it. But this is similar to them being absent, and the spec contains no mention of apps defaulting to 4 levels.In short, the spec contains no rationale for why having an empty level at the beginning of a
PLAC
would be good behavior. Perhaps making no recommendation either way is ok, but I think at least a note would improve clarity. Maybe a technical FAQ discussion with several examples might also be appropriate.Other examples to consider:
vs
vs
The text was updated successfully, but these errors were encountered: