_UID bzw. eindeutige Datensatz-ID

Liebe GEDCOM-Spezialisten,

Ich habe in einer alten GEDCOM-Datei zu einem INDI eine 36-stellige _UID,
Diese besteht aus Ziffern und Buchstaben A-F, also vermutlich 16-Bit/Stelle.

Möglicherweise wurde diese in PhpGedView erstellt? (das ich früher verwendet habe)
Oder irgendwo anders bei einem Zwischenschritt beim Bearbeiten oder Kopieren.

Wie funktioniert das genau? Welcher Algorithmus steht dahinter?

Eine_UID soll ja nicht doppelt vergeben werden, also eine Universa-UID sein oder eine Global-UID…
Ist die _UID lebenslänglich fix? Einmal vergeben immer mit dem Datensatz verknüpft? auch beim Hin- und Herkopieren und Bearbeiten zwischen unterschiedlichen Programmen?
Oder ist die _UID nur innerhalb einer Datei „eineindeutig“?
Und wenn ein Datensatz gelöscht wird, wird dann die _UID in irgend einem zentralen Server als „verbraucht“ markiert, damit sie nicht ein zweites Mal verwendet werden kann?

Ist die _UID ein Hash-Wert des Datensatzes?
Dann müsste sie sich ja ändern, wenn der Dateninhalt ergänzt oder geändert wird?

Oder ist sie unabhängig vom Inhalt? inkrementell? oder ein Hash von Hardware-Daten plus DatZeit?
und kann auch einem anderen Inhalt zugeordnet weden?
Dann wäre sie vermutlich wenig sinnvoll?

Gruss, Markus

Hallo Markus,

finde die Länge etwas überraschend und hätte sonst auf UUID verwiesen.

Gruß
Flo

Hallo Markus,

zur Beantwortung Deiner Frage siehe GEDCOM/UID-Tag – GenWiki (genealogy.net)

Viele Grüße

Peter (Schulz)

image002.jpg

1 „Gefällt mir“

Hallo Markus und Flo,

die Arbeitsgruppe „GEDCOM-L“ (vom Compgen initialisiert, stimmberechtigt sind Autoren von Genealogieprogrammen) hat sich ausführlich mit den UUID beschäftig und dazu den GEDCOM Standard 5.5.1 ergänzende Vereinbarungen getroffen. Mehr dazu findet Ihr im GenWiki:
https://wiki.genealogy.net/GEDCOM/UID-Tag
Wir haben dazu als Kennzeichen _UID gewählt. Der Unterstrich war in 5.5.1 zwingend, da es sich um ein „Nutzerdefiniertes“ Kennzeichen - welches also nicht im Standard selbst definiert ist - handelt.

Inzwischen hat der GEDCOM Standard 7.0 die Version 5.5.1 als neueste Version abgelöst. Hier sind nun eine Reihe von Vorarbeiten unserer deutschen Arbeitsgruppe eingeflossen. Die Kennzeichnung von Datensätzen mit UID ist jetzt offizieller Teil des GEDCOM Standards, dazu wurde passenderweise das Kennzeichen UID gewählt. Der Standard ist hier zu finden: https://gedcom.io/specifications/FamilySearchGEDCOMv7.pdf . Das Kennzeichen UID ist dort auf der Seite 95 definiert.

Beide Dokumente erklären, wie es zu den 36 Zeichen der UID und damit zu 4 Stellen mehr als bei einer UUID mit ihren 32 Zeichen kam: Die ersten Programme, die solche Kennzeichen einsetzten, haben eine Prüfsumme in der Länge von 4 Zeichen angehängt, um gegen mutwillige Änderungen der UID besser geschützt zu sein. Das ist heute nicht mehr empfohlen, da auch die Prüfsumme nach einem bekannten Algorithmus ermittelt wird.

Wichtig ist die Grundregel, dass UID durch Programme nicht verändert werden sollen - denn dann verlieren sie ihre Hauptfunktion: Nämlich die spätere Wiedererkennung, dass ein Datensatz den gleichen Ursprung hat wie ein anderer Datensatz mit der gleichen UID.

Albert (Emmerich)
Admin in der GEDCOM-L Gruppe und Mitarbeiter im Steuerungsteam bei FamilySearch für die Weiterentwicklung des GEDCOM Standards

2 „Gefällt mir“

Hallo Albert,

Herzlichen Dank für Deine ausführliche Erklärung und die ebensolchen Links :slight_smile:
(Dank auch an Peter und Flo)

Ich gehe mal davon aus, dass Deine Hinweise „international“ nicht nur wertgeschätzt, sondern anerkannt sind (also nicht mehr im Stadium „na ja die Deutschen mit ihren Ideen“ stark umstritten sind).

Dann wäre es hilfreich, im Wiki überall prominent folgende Hinweise zu finden:

  • Seit <datum> gilt GEDCOM Standard 7.0 <link zu einen deutschsprachigen Version>
    (mein Englisch reicht da nicht)

  • Diese Genealogieprogramme beherrschen den neuen Standard <link zu einer kommentierten Liste>

Aus gegebenem Anlass:
(ich muss alte Dateien aus PhpGedView transformieren für Webtrees)

Ich vermute, Webtrees arbeitet mit GEDCOM-7 ?
Wie transformiere ich die alten GEDCOM-5.5.1 Dateien in GEDCOM-7 ?

Nicht ganz verstanden habe in der Doku zu _UID, ob nun die „alte“ (vermutlich aus PGV und 5.5.1) mit 36 Stellen (also incl. Prüfsumme) genau so übernommen werden soll? oder ob man die Prüfsumme weglassen soll? oder ob man die _UID für GEDCOM-7 neu berechnet werden soll und falls ja. wie?
(die Doku spricht von „2. Abstimmrunde (2019)“ - aber nicht, was in den letzten vier Jahren beschlossen wurde)

Gruss, --~~~~

Nur kurz:
webtrees unterstützt GEDCOM 5.5.1, versteht aber bereits einige Konstruktionen von GEDCOM 7.0. Details stehen im webtrees Handbuch Webtrees Handbuch/Allgemeine Erläuterung des Programms – GenWiki

Vorschlag: erst einmal die alten GEDCOM Dateien auf ein möglichst sauberes 5.5.1 bringen und dann ggf. später auf 7.0. Es gibt da bereits mindestens ein Konvertierprogramm.

Damit die UID funktioniert, sollte man sie überhaupt nicht ändern, also den Wert lassen wie er ist. Ändern kann man beim Wechsel zu 7.0 das Kennzeichen: von _UID zu UID.

Danke Hermann,

Ich werde Deiner Empfehlung folgen.

Wo finde ich ein Validierungsprogramm für GEDCOM 5.5.1 ?
(um die alten Dateien zu prüfen und ggf. zu berichtigen)

Hier finde ich Doku:

Gibt es das auch irgendwo in deutsch? (damit nicht jeder „Deepl“ nutzen muss und dann doch nicht sicher ist, ob das Ergebnis mit demjenigen von den deutschen Autoren beabsichtigten übereinstimmt?

Gruss, Markus

PS: ich hatte noch eine Frage zu „Bürgerort“ - aber vermutlich das falsche Forum erwischt…

Moin,

der Entwickler von Familienbande einen auch kostenlosen Validator namens ShowMeGedcom geschrieben. Den verlinke ich hier mal nicht, sonst meckert wieder einer wegen unerlaubter Werbung …

Für Bürgerort gibt es kein GEDCOM-Tag. Da hilft die Liset der gemeldeten, gebräuchlichen nutzerdefginierten GEDCOM-Tags unter https://wiki.genealogy.net/GEDCOM/_Nutzerdef-Tag

Jan Escholt

z. B. hier:

Gruß, Stefan Mettenbrink.

Sorry, daran habe ich nicht gedacht.

Gruß, Stefan Mettenbrink.

Das ist eine Information!

Die Seite im Genwiki enthält solche Informationen nicht. Warum?

Keine Ursache, es gibt nichts, was man entschuldigen müsste.

Im Genwiki findet sich manches nicht, obwohl es sich um reine Informationen handelt.

„Unerwünscht“ sind Serienmails, die die Kategorien „verstopfen“, mit einem reinen Werbeblock.

Antworten an Nutzer, wo, wenn nicht hier?

Das verschiebe ich mal nach hier.

Tja, wie man es macht ist es grundsätzlich falsch hier in den Mailinglisten. Postet man solche Sachen machen einen manche Mitleser nieder (wie grade in einer anderen Mailingliste ausführlich geschehen). Postet man es nicht wird man auch mit Ausrufezeichen zurecht gewiesen. Manchmal macht es keinen Spaß mehr hier mitzumachen.

Jan Escholt

Von mir?

Das Ausrufezeichen habe ich gesetzt, um Aufzufordern Informationen zu geben.

Bitte um einen Hinweis.

Um wieder auf die Validierungsfrage zurück zu kommen:

Das Validierungs-Tool von Metti findet man auf Familienbande unter Tools:,
incl. ausführilichem deutschsprachigen Handbuch, incl. HowTo zu „RegEx“.

Damit kann man Dateien gut auf Fehler prüfen und gefundene Fehler systematisch korrigieren.

Was mache ich aber wenn ich mehrer Dateien habe mit weitgehend ähnlichem Inhalt? Beispielsweise a) mit 1600 INDI ond 510 FAM und b) mit 1620 INDI und 508 FAM?

Da wäre ein Prog hilfreich, das zum Vergleichen zwei Dateien nebeneinande anzeigt und fehlende und zusätzliche und verschiedene Zeilen farblich markiert. Dann könnte man herausfinden, welche Personen bzw Familien fehlen und wo zu einem Objekt unterschiedliche Daten vorliegen.

Gruss, Markus

Kann das nicht Gedtool?
Laut Beschreibung (GedTool – GenWiki):
Vergleichen / Abgleichen / Zusammenführen

In GedTool können parallel zwei unterschiedliche GEDCOM-Dateien
eingelesen werden. Mit entsprechenden Funktionen lassen sich diese
inhaltlich vergleichen, abgleichen (Übernahme ergänzender Daten) oder
zusammenführen. Darüber hinaus lassen sich durch eine globale Suchen-
und Ersetzen-Funktion beliebige Daten ersetzen. Ein mögliches
Anwendungsfeld wäre zum Beispiel die Datensatz übergreifende
Harmonisierung aller Ortsangaben (PLAC) in einer GEDCOM-Datei.

Gruß, Stefan Mettenbrink.

1 „Gefällt mir“