G jak genealogia

https://xpil.eu/h9t

Kiedyś, dość dawno temu, zacząłem się bawić w organizowanie wiedzy za pomocą Obsidian. Tu można poczytać. Potem miałem dłuższą przerwę, potem się okazało, że najnowsza wersja Obsidian nie potrafiła odczytać mojego starego folderu z wiedzą, co mnie nieco rozjuszyło, ale w końcu jakoś się z Obsidianem dogadaliśmy i teraz znowu eksperymentuję.

Zaczęło się od tego, że rozdzieliłem swój główny zasobnik wiedzy (według lokalnego narzecza: "vault" czyli na nasze "skarbiec") na dwa osobne skarbce: jeden "publiczny", z klamotami codziennego użytku (na przykład z przepisem jak odwrócić string w Pythonie albo jak zainstalować Chocolatey z wiersza poleceń, albo jak zrobić, żeby Firefox po wciśnięciu F11 nie zajmował całego ekranu i tak dalej...), drugi prywatny, z rzeczami typu ważne kontakty i numery telefonów, daty i różne inne śmieci, które nie powinny być ujawniane poza kręgiem najbliższej rodziny.

A potem - w ramach porządkowania kolejnej nieużywanej od lat partycji któregoś z rozlicznych dysków - natrafiłem na kopię mojego drzewa genealogicznego, które kiedyś pracowicie wklepywałem w Gramps. Zapaliła mi się żaróweczka i postanowiłem spróbować zrekonstruować owo drzewo za pomocą Obsidian. Wyszedłem bowiem z takiego założenia, że Gramps jako projekt może nie przetrwać próby czasu (choć póki co trzyma się mocno, ale wiadomo, różnie bywa), natomiast Obsidian to nic innego jak kupa plików tekstowych - nie bardzo mogę sobie wyobrazić, żeby zwykły tekst mógł kiedykolwiek wyjść z mody.

Oczywiście jest też druga strona medalu: dane porządnie ustrukturyzowane, jak w Gramps (czy ogólniej GEDCOM) są rozpoznawane praktycznie przez każde oprogramowanie do genealogii, offline czy online, darmowe czy płatne. Więc przejście na format tekstowy oznacza "rozkompatybilnienie" z resztą świata. Coś za coś.

Założyłem więc sobie trzeci skarbiec, nazwałem go "genealogia" i zacząłem się bawić.

Dojście do w miarę sensownej struktury zajęło mi około trzech dni. Najpierw zacząłem naiwnie od umieszczenia w drzewie każdego człowieka oraz połączeń między nimi. Czyli na przykład jeżeli Adam Kowalski (AK) hajtnął się był z Żanetą Bąk (ŻB) i mieli trójkę dzieci, Cześka (CK), Wieśka (WK) i Mirelkę (MK), to moje drzewko miało pięć osób oraz połączenia między nimi. Okazało się jednak bardzo szybko, że liczba połączeń jest zbyt duża, bo muszę powtarzać połączenia między rodzicami a dziećmi dwa razy (po razie dla każdego rodzica). Nie dość, że za dużo połączeń, to jeszcze strasznie chaotycznie to wyglądało. W przypadku powyżej mamy: AK-ŻB, AK-CK, AK-KW, AK-MK, ŻB-CK, ŻB-KW, ŻB-MK. Aż siedem połączeń - a tylko pięć osób.

Pokombinowałem więc trochę, przmyślałem sprawę srodze aż mi się zaczęło dymić z uszów (uch?), ale że mój ostatni test na IQ wyszedł negatywny, niczego nie wymyśliłem. Zamiast tego zrobiłem to, co każdy prawdziwy programista robi najlepiej: ukradłem. A konkretniej - ukradłem pomysł na strukturę danych z aplikacji Gramps, która przecież "robi" genealogię już od prawie 20 lat (dwudzieste urodziny stukną mu w lutym 2024). Okazało się, że optymalnie jest stworzyć sobie jeden węzeł grafu dla każdej rodziny (rozumianej jako dwie osoby posiadające wspólne potomstwo), a potem łączyć z tym węzłem poszczególne osoby - albo w charakterze rodziców, albo dzieci. W ten sposób uzyskujemy o wiele mniej połączeń oraz o wiele bardziej przejrzystą strukturę grafu. W przykładzie powyżej mamy teraz:

  • Rodzinę Adama i Żanety Kowalskich (RAŻK)
  • Pięć osób jak powyżej (AK, ŻB, CK, WK, MK)
  • Połączenia: RAŻK-AK, RAŻK-ŻB, RAŻK-CK, RAŻK-WK, RAŻK-MK

Przyjrzawszy się powyższemu, niejeden Czytelnik powinien dojść do wniosku, że mnie popierdzieliło kompletnie. Przedtem mieliśmy przecież pięć kropek na wykresie, a teraz mamy sześć. Połączeń niby ciut mniej (tam: siedem, tu: pięć), ale z kolei dochodzi komplikcja w postaci dwóch różnych rodzajów kropek. Gdzie więc korzyść?

Korzyść w samej strukturze grafu: teraz wszystkie połączenia wychodzą centralnie od węzła RAŻK i nie musimy powtarzać połączeń rodzic - dziecko dwa razy. Oczywiście nie widać tego na pojedynczej rodzinie, ale kiedy zaczniemy dodawać kolejne rodziny, to się natychmiast okazuje, że ta druga struktura jest nieporównywalnie lepsza od tej pierwszej.

Obrazek, który widać na samej górze tego wpisu, to jest drobny fragment mojego (i mojej Żony) drzewa genealogicznego. Wywaliłem nazwiska dla zachowania resztek prywatności, no i nie jest to kompletne drzewo tylko jakieś 9% (85 osób z 915, które mam w Gramps).

Oczywiście samo pojęcie "kompletne drzewo" jest w kontekście genealogii kompletną abstrakcją, ale to już inny temat.

Zielone kropki oznaczają rodziny (czyli pary osób), a czerwone - pojedyncze osoby. A więc każda zielona kropka ma podpięte co najmniej dwie czerwone (rodzice), a na ogół więcej (dzieci). Z kolei każda czerwona kropka należy co najmniej do jednej rodziny (zielonej kropki) - albo tej, w której się dany człowiek urodził, albo tej, którą sam potem założył. Sytuacje, w których czerwona kropka łączy się z więcej niż dwiema zielonymi to ponowne małżeństwa (lub konkubinaty).

Dla porównania, poniżej fragment (65 osób) tego samego drzewa, ale bez rodzin - same połączenia między poszczególnymi osobami. Owszem, widać jakąś tam zgrubną strukturę, ale w porównaniu z pierwszym obrazkiem daje się tu wyczuć większy chaos - głównie w postaci licznych "latawców" gdzie na obwodzie mamy połączenie pary dzieci z każdym z rodziców, a przez środek idzie linia oznaczająca małżeństwo (konkubinat).

Jeżeli chodzi o zawartość pojedynczej kropki (czyli pojedynczej notatki w Obsidian w formacie .md) to układ treści będzie różny w zależności od tego czy chodzi o osobę czy rodzinę.

Dla osoby (czerwona kropka) staram się umieścić informacje takie jak imię, nazwisko (+ew. panieńskie), data urodzenia (ew. zgonu) a także co najmniej jeden link do "zielonej kropki" czyli rodziny. Na ogół jest tak, że dla osób z samej góry drzewa (najstarszych - przeważnie już nieżyjących) będzie to wyłącznie przynależność do pojedynczej rodziny - w charakterze małżonka), dla gówniażerii (czyli ludków z drugiego końca spektrum - nieohajtanych dzieci) będzie na odwrót, czyli link do zielonej kropki reprezentującej rodzinę rodziców, a dla całej reszty na ogół dwie zielone kropki, chyba że dany delikwent miał dzieci z więcej niż jednego związku - taka osoba będzie wówczas podpięta do większej liczby zielonych kropek. Aha, no i obowiązkowy tag #person (dlaczego? zaraz wyjaśnię). Oczywiście w miarę możliwości umieszczam też w pliku osoby różne dodatkowe informacje, w zależności od tego co udało mi się o człowieku dowiedzieć. Na przykład zdjęcia, dokumenty, namiary (np. numer telefonu, e-mail albo ostatnie znane miejsce zamieszkania), zawód, link do strony domowej i różne inne notki.

Plik .md nazywam imieniem i nazwiskiem danej osoby; jeżeli kilka osób w drzewie ma to samo imię i nazwisko, różnicuję rokiem urodzenia ew. drugim imieniem.

Dla rodziny (zielona kropka) obowiązkowo linki do czerwonych kropek oznaczających męża / żonę (ew. konkubenta / konkubinę) plus opcjonalnie lista linków do potomstwa. Do tego inne powiązane fakty: czy nastąpił rozwód / separacja, jakieś kluczowe daty i miejsca (np. ślubu / rozwodu) i tak dalej. Plik .md z rodziną nazywam "Rodzina Imiesława Nazwiskowego i Imieniny Nazewniczej" jeżeli małżonka pozostała przy nazwisku panieńskim, w przeciwnym razie po prostu "Rodzina Imiesława i Imieniny Nazwiskowskich" albo zwyczajnie "Imiesław i Imienina Nazwiskowscy". Ponadto oznaczam plik z rodziną tagiem #family.

Osoby i rodziny trzymam w osobnych folderach ("Person", "Family"), do tego mam jeszcze dwa dodatkowe foldery:

  • "Place" z nazwami miejsc (każde miejsce należy do hierarchii z Europą na samej górze - póki co nie mam w drzewie ludzi spoza Europy) - na przykład "Pałac Kultury" należy do "Warszawa", "Warszawa" do "Mazowieckie", "Mazowieckie" do "Polska" i tak dalej. Dzięki temu graf miejsc też układa się w ładne drzewko.
  • "Media" z plikami graficznymi (zdjęcia osób, dokumentów itd).

Ostatnio rozważam stworzenie w folderze "Person" podfolderów dla najbardziej popularnych nazwisk, żeby się łatwiej szukało. Zobaczymy.

Wisienką na torcie jest możliwość kolorowania kropek na wykresie - należy w tym celu rozwinąć w Obsidian opcję "Groups" i ustawić takie coś:

Ponadto aby nazwy miejsc nie zaśmiecały nam grafu, można je wyeliminować za pomocą filtra (opcja "Filters" zaraz powyżej "Groups"):

I to w zasadzie byłoby na tyle jeżeli chodzi o moje niedawne próby zbudowania drzewa genealogicznego za pomocą Obsidian - jeszcze nie wiem na ile mi wystarczy samozaparcia, ale póki co wygląda to całkiem obiecująco. No i najważniejsze - większość informacji w takim drzewie raczej nie ulega zmianie, więc nawet jeżeli projekt mi "zdechnie" z braku rozpędu, niewykluczone, że wygrzebię go znów za jakiś czas i ożywię.

Aha, jeżeli chodzi o rozwiązania "w chmurze" to używałem kiedyś, dawno temu, portalu MoiKrewni.pl, który potem zniknął przejęty przez MyHeritage (w domenie MyHeritage.pl), który z kolei był jakiś czas temu celem udanego ataku hakerskiego, co tak naprawdę było punktem zwrotnym w moich zabawach w genealogię. Owszem, fajnie jest mieć wszystko "w chmurze", ale po pierwsze nigdy nie wiadomo kiedy jakieś złodupce się do tej chmury włamią (a tam przecież kupa danych: nazwiska panieńskie, daty urodzenia, adresy... nic tylko brać i się potem podszywać), po drugie portale typu MyHeritage mogą w każdej chwili zażyczyć sobie obowiązkowych opłat za używanie serwisu (który szczerze mówiąc w wersji darmowej i tak jest mocno okrojony), po trzecie wreszcie to są jednak moje osobiste dane w czyimś komputerze i jeżeli ten ktoś jutro zdecyduje, że zamiast zarabiać na genealogii bardziej mu się kalkuluje na przykład sadzić marchew, to wiadomo.

A ty, Czytelniku, próbowałeś się bawić w rekonstruowanie swojego drzewa genealogicznego? Jeżeli tak, pochwal się detalami w komentarzu.

P.S. Dodane 5 dni później: a tak wygląda drzewko dla 229 osób:

A tu - dla 275. Rośnie, bydlę 🙂

https://xpil.eu/h9t

3 komentarze

  1. Tak, bawiłam się w odtwarzanie powiązań rodzinnych. Tyle tylko, że nie przetwarzałam tego komputerowo, bom kiepska w tej materii i cud jakiś, że umiem się kompem jako/tako posługiwać. Rozeznanie prowadziłam z pomocą Mormonów, bo oni spenetrowali i „obfocili” na mikrofilmy chyba wszystkie parafie i USC tego świata, bo zawzięcie poszukiwali swych wyznawców. I stąd np. wiem, że w XVI wieku „kawałek” rodziny przybył z Holandii, a wiek wcześniej jakiś jurny wojak (biedny ale herbowy) przybył ze Szwajcarii i swe geny posiał w Polsce i Słowacji. Poszukiwanie swych „korzeni” to całkiem fajna zabawa. W efekcie mam w domu całe „płachty” wydruków, a zapału do przetworzenia tego w formę graficzno-cyfrową jakoś mi brak- zapewne głównie z braku wiedzy w tej materii. Mój zięć jest informatykiem, więc może kiedyś, gdy przejdzie na emeryturę to się w to pobawi, jak na razie to zarobiony „po kokardkę”. Pewnie Cię rozczarowałam nieco tym komentarzem, ale lubię do Ciebie zaglądać. Miłego;)

    1. Dużo łatwiej eksploruje się swoje drzewo rodzinne „w poziomie” niż „w pionie”, głównie dlatego, że w pionie większość powymierała i trzeba się grzebać w dokumentach, a w poziomie kupa ludzi jeszcze ciągle żyje i mają niezbędne informacje. Raz czy dwa zdarzyło mi się nawet zdzwonić z jakimś zupełnie obcym dla mnie człowiekiem, który siedzi gdzieś tam piętnaście osób ode mnie, przez trzy małżeństwa i jakichś prawujków, bo się okazało, że jednak mamy wspólnego znajomego w tym samym drzewie 🙂

  2. Mam ~ 500 dusz, dużo „w poziomie”, wyszukiwanych m. in. facebookiem (póki dało się podejrzeć więcej danych) m.in. po nazwisku (nie jest zbyt popularne, raptem 200 osób w Polsce wg bazy PESEL), staramy się uaktualniać w razie zmian…
    Dużą wiedzę miał mój śp. tata i babcia ze strony mamy…

Leave a Comment

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.