Exploring Obsidian with Genealogy, family trees

Glad to see I am not the only one with the same thoughts! To add the the conversation, I don’t think a plain-text approach is the solution here. There is tremendous value in being able to stick to am existing standard, and veering away from it has the major disadvantage of locking one’s work out of the existing ecosystem of tools and data already built around it.

As a result, the ideal solution for me would be a plugin capable of:

  • Displaying the tree in various ways directly in obsidian, and allow for navigation from there as in most existing tools today
  • A custom person view panel, designed to display the card for a specific individual, with the various common fields as set edit fields
  • In the above field view panel, have the general notes field render markdown + wikilinks, similarly to any other obsidian note

This should enable sticking to the existing standard and remaining compatible with the existing standard while remaining in obsidian and leveraging all the obsidian goodness at the same time.

Now as to actually going about creating such a plugin, I unfortunately don’t have the right skills, and as such hope someone more qualified could take on the challenge!

Happy to see activity here :slight_smile:

I don’t think a plain-text approach is the solution here

Thats why I was messing with the breadcrumbs plugin to provide the graphical view. FWIW, the ExcaliBrain plugin seems like a better alternative but I havnt tried it (yet) for this stuff.

All the notes within the library that Im using ExcaliBrain in has a section like this which permits Obsidian to do its thing and also proves useful for navigation outside of ExcaliBrain:

Navigation:

- Parent:: 
- Peer:: 
- Child::

That said, Ive found I actually dont use the diagram much at all anymore. But its there for when I want it

There is tremendous value in being able to stick to am existing standard, and veering away from it has the major disadvantage of locking one’s work out of the existing ecosystem of tools and data already built around it.

I sorta agree with what your saying but every time I look at GEDCOM, Im reminded just how horrible the spec is. I would be surprised if it is used for anything more than as a way to import/export data and that most systems utilize an actual database under the covers. Worse, you cant just download multiple GEDCOM files and expect them to play nicely even if they happen to be on the same version. There will have to be some intermediate system that can read/merge those records.

Since my last post, I also came to a few other conclusions:

  • To import/export, there would have to have a dedicated tool/plugin which can translate those files to/from something more sensible or at least readable.
    • Preferably utilizing UUIDs to track identities. This would help make it be less of a disaster to merge multiple collections.
    • There would need to be a, preferably user definable, schema for what the file record would look like. Perhaps some mix of headers (ie for dates) and key:value pairs which could be used to build a timeline of events?
  • That it stopped make sense to use different record formats for geneology and my, separate, address book archive. ie: why should I maintain 2 files for each person in my immediate family?
  • And that what I (apparently) really want is a form of identity tracking system.

Soon after this point I decided I really dont need to start yet another major project and went back to dealing with all the other stuff I need to do while hoping someone more motivated than I will write something :stuck_out_tongue:

3 Likes

THIS is where I am, as well. I have a #TextExpander template I use for each person…

# F
* b
* d
* m
* F=
* M=

## Children:
* 

And then use linked names to connect them, which help w graphs (but I don’t use that feature much). I use a naming structure of FName {MName} LName bYYYY (optional middle name. For those with a direct-line connection to me, I’ll precede filename with Fx where x=generation number (my father is F1, PGF is F2, etc).


F4 William Tyler Davis b1848 70yo (WT Davis)

  • b18481023
  • d19190529.1400 #certd COD=septicemia dt bowel obstruction p surgery on 19190404 dNC-Wake-Raleigh-RexHosp (says b18471023) occ=farmer
  • m =Haseltine Gunter b1847
  • F=[[F5 Andrew Jackson Davis b1810.md]] d1872
  • M=[[F5 Martha Mason Davis b1816.md]] d1857

Children:

  • Joseph Jackson Davis b18730127 d18730310 2mo
  • Sarah L (Davis) Palmer b1875
  • William Walter Davis b18790504 d19581208
    • m=Nancy Aiken b18800421 d19540722
    • Una Entrekin b1910 d1968
    • James Woodrow Davis b1914 d1978
    • Mack E Davis b1918 d1984
    • Benjamin Franklin Davis b1921 d2001
  • Walter Davis b1879
  • [[F3 Arthur Jackson Connie Davis b1883.md]]

NOTES

  • 1yo [[Census.1850.NC-Wake-Western]] l/w Jackson 34yo & Martha 32yo

The date structure (b20230209) isa convention that helps me find, for instance, all those born in 2023 (search for b2023) or in Feb 2023 (b202302), etc. I also do that for died (d1899), married (m1901) and buried (bur19081209).

I do the same for places, as you can see in the NOTES section for titling the Census page notes, naming place by state, then county, then town, then district (eg, NC-Wake-Western). I’ve thought about converting the places to nested tags – #place/NC/Wake/Western – put no burning need and I think about interoperability with other markdown readers (eg nvUltra) that may not support nested tags like this.

Has anyone done anything using Canvas for visualizing their tree structure?

2 Likes

Have moments ago joined the ranks of those using Obsidian for genealogical/family tree research. Mostly because Ancestry has a free weekend here in the UK (I presume bcause of the coronation).

1 Like

I don’t use whiteboards to visualise tree structures, but I find them a good way to play around with the snippets of information that may or may not be related to what I’m looking for. And drawing links helps.

I don’t use names at all as a system to manage a tree. I use a couple of ahnentafel variants, as a way to identify a fixed position in a tree (there are many other systems); names may come and go with extra research or DNA. I use names as way of identifying people, who, in the end, may or may not fit into the tree I’m working on.

I use a modified Dollarhide numbering system which theoretically enables you to assign a number to everyone in your tree, including offshoots, both forwards and backwards. Unfortunately the original web site I got it from is gone and their are no copies in archive.org! :frowning:

Fortunately I seem to have copied the basics into Notion, but unsure how to share a link. Will post when I do.

1 Like

My original ahnentafel variant would do that. But then I realised that there was a problem with offshoots and going forward in that many numbers would be null and someone’s first child may turn out to be their second child etc. At that point, I decided that going back numbers were fixed and the people might not be, but going forward, people were fixed and with a defined relationship. In other words, I shifted to links going forward. I don’t think most genealogy software is good for this, which doesn’t affect me since I don’t use it.

The weakness with all these systems is that they don’t have a value independent of the starting point. So you end up with defined starting point + the numbered tree.

Still, it’s important to have a robust numbering system of some sort going back because names and individuals are always less than 100% certain.

1 Like

That is definitely one thing I noticed - all numbers reference me as the starting point - any cousin or descendant who take up the work will lose reference. I mean, they too will have a number in this system, but there’s no way to adjust person 1.0 from me to them. Same if you start with oldest known ancestor. The system is blown as soon as you discover their parents. Wish there were some automated way for everyone to have a unique number and an additional relational number that tells you generational gaps and direct lines vs non-direct (and also could indicate paternal vs maternal?)

I’m probably asking for too much…

ok, here is the text I copied and saved from Terry Cole’s old (now non-existent) web site, re: modified Dollarhide numbering system:


Based on a slightly modified Dollarhide system, apologies to William Dollarhide

Genealogist often adopt a numbering system to keep everyone straight in their database. Ahnentafel numbering and collateral numbering systems abound. William Dollarhide proposed a system that seems to marry all the strengths of a number of system. His work and thoughts on this subject are no longer on the web so far as I can determine, but they can be found on the internet archive Way Back Machine. I adopted this system with some modifications and love it. If you already know the Dollarhide system, the specific modifications proposed by Cole (me) are listed separately Modification to Dollarhide Numbering. If you just want to understand the modified system from scratch, the brief tutorial below will hopefully suffice. Information on more numbering systems (and this one) can be found in the Encyclopedia of Genealogy.

Basics

Starting Person First, a person is selected as the starting point who is directly related to those you are studying. All people in the database related in any way to this person can be numbered using this system. The starting person is person 1. This can be anyone , but it will make sense if this is either your oldest person for a descendant project or your youngest for an ancestry project.

Direct Ancestors Using traditional Ahnentafel or ancestry numbering, the starting person’s father is person 2, their mother is person 3, paternal grandfather… person 4, paternal grandmother …person 5, etc. Each person’s father is double their own number; each person’s mother is double plus 1. Unlike Ahnentafel numbering, Dollarhide prescribes adding a decimal point and 0 (“.0”) to the numberof each direct ancestor**. This is a very important modification as we shall see. All direct ancestors have a number that ends in “.0”. When presented with a list (or items labeled with the numbers), it is very easy to identify direct ancestors.

Here is an example of a starting person and their parents and grandparents:

Paternal grandfather 4.0
Paternal grandmother 5.0

Siblings Dollarhide prescribes that siblings and half-siblings of direct ancestors are numbered using a .1, .2, .3, .4, etc. suffix. Thus all the (half-)siblings of person 3.0 are labeled 3.1, 3.2, 3.3, 3.4, etc. They are numbered in birth order (or whatever the genealogists believes is the best order when birth order is not available). A modification I have made is to skip the .n label corresponding to the direct ancestor. This allows us to see the birth order position of the direct ancestor at a glance.

The entire set of siblings, including half siblings through each direct ancestor parent, receive numbers that have the person number of the direct ancestor. This makes it easy to identify these extended families.

It is not uncommon to run out of numbers in the .1, .2, … .8, .9 series. In this case, we start with letters .A, .B, .C, .D, etc…

Here is an example of how to number siblings and half-siblings of a director answer 12.0:

Secondary Spouses You will note in the above example, we did not have numbers for the spouses. Dollarhide prescribes denoting a non-direct ancestor spouse by a * suffix on the spouses number. If there are more than one marriage, use *1, *2, *3,** etc., in order of the marriage (or whatever order the genealogist things best if this is not available). I have modified this system and skip the number of marriage corresponding to a marriage of the two direct ancestors. This system applies to any marriage not of two direct ancestors. Thus we can number spouses of siblings (12.1*) or previous or subsequent spouses of direct ancestors. We have not yet described descendant numbering (next section) but we also number spouses of descendants in the same way.

Now we can label the spouses from the same example in the sibling discussion using secondary spouse labeling:

Decendents
Dollarhide prescribed numbering descendent’s as well as ancestors. Descendants are numbered by appending a new number to their already numbered parent. Thus descendent’s of the starting person (who is 1.0) become 1.1, 1.2, 1.3, etc. Descendants of a sibling of a direct ancestor 9.0 are 9.1, 9.2, 9.3, etc. This is applied as often as needed, so grandchildren of the starting person are 1.11, 1.12, 1.13 (children of 1.1) and 1.21, 1.22, 1.23 (children of 1.2). Note that some cousins have a nice property in that they have similar numbers using their common ancestor. Of course, cousins is a complex issue.

Complications

Trees within trees Using the basic methods already described, it is possible to number all ancestors and spouses going backward. Additionally it is possible to begin going forward from any of the direct ancestors. This allows us to number lots of the common people in our databases. But what of mother’s in law? Brothers and sisters of in-laws? Or even their descendants? To do this we need to stop and examine what the numbers are saying a bit more.

Dollarhide numbering conveniently allows us to go backward in the family line (2.0 to 4.0), to go laterally in a family (4.1, 4.2, 4.3) and to start going down the family tree again (4.31, 4.32, 4.33). This change in direction from backward to forward seems family natural. Dollarhide prescribes that we can change direction in another way, too. When we change from sibling or descendancy back to ancestry, we use a “/” to show this. If we wish to start going backward from certain spouse labeled person, 9.2*1, we can talk about their father as 9.2*1/2.0. We treat everything on the left of the “/” as person 1 and move backward using the basic rules again. 9.2*1/3.0 is the mother of 9.2*1. The tree can continue backward (using ancestry numbering), and indeed forward (using descendant numbering). This change of direction can be applied at any level of descendancy. I think of it is a tree that grows within the tree.

Temporary Assignments Sometimes we just don’t know the birth or marriage orders. In such cases, I sometimes use a series x, y, z (or other “late alphabet” letters). This shows that I really don’t know and encourages me to research and find out. It allows me to number some other relatives on the basis of the temporary number. Of course, if this gets out of hand you will find it not very useful. If it remains a long term assignment, it is probably best to simply number the item with best available inference (or guess) and move forward.

Multiple Starting Persons It is possible to denote more than one starting point. You might want to do this for several different reasons. First, it might be desired to describe more than one set of people for whom no relationship can be exactly described (because they are unrelated, or because the relationship cannot yet be described). In the case, we designate the person one but put a unique prefix to work for each, for example person 1 to your main tree, but person Z1 for a set of related people whom you eventually intend to find a precise relation as a fruit of research. Or two equally important trees could be described with designations A1 and B1 for root people. When people are related in some way to both root persons, you must choose between two possible labels, or you could at that point renumber everyone is one or the other trees (using the common person as the starting point).

Another reason for multiple roots can be a political issue of naming a set of siblings as root. This can be done by designating all siblings as 1.x. For example, 1.1, 1.2, and 1.3 for three brothers and sisters who will all be treated as root person. If the children do not have the same parents, one set is selected for the direct descendant line, and the other parents are labeled using secondary spouse names. I used this situation for my database, because I wanted my two daughters to be the root people, 1.1 and 1.2.

Another reason that I have encountered for using multiple roots is to truncate an extremely deep ancestry numbering. Many tools (PAF being one of them) have a limited number of characters in their custom number fields. When you reach the limit, you must designate a person as a new root. This shortens the numbers again so they fit in the fields. Using the on-line and printed research material, it is not uncommon to have Ahnentafel numbers that go into the 10’s and 100’s of millions. You must restart the numbering on such trees in many programs when this occurs.

Using the Labels

I assign the number manually in PAF & PAFWIZ using the custom ID field. I ask PAF & PAFWIZ to dispaly the custom ID after the names on the screen.

One of the most convenience ways I use the numbers is in labeling files on my computer. I actually uses the ids to label reports (e.g. 12.0 Individual Full Name.pdf, 12.0 & 13.0 Family Group Full Names.pdf, 12.0 Pedigree Full Name.pdf, etc), to label picture files (12.0 Name (date) Place.jpg), and sources (15.0 Birth Certificate Name Issuer), etc. You cannot use the * character in the file name nor the separator (/) in many operating systems, so you have to device a substitute. I use o for * and - for / (just for file names).

1 Like

I question the value of such complex numbering systems.

A numbering system for ancestors makes sense. We often don’t know who they are, but we know precisely that every person will have two parents. Which means that unknown ancestors can be given a number in the full confidence that the number applies to one, and only one, person

Some systems are good for generations. Usually the starting person is 1 and parents are 2, followed by an ahnentafel. This has a value in instant recognition of degree of closeness, which itself translates into most likely % of shared DNA, which is good for looking at DNA matches.

My own use of numbering beyond this is occasional (I find verbal descriptions and names more useful most of the time), but is designed around looking at DNA probabilities. So it goes back to the nearest common ancestor(s) (who becomes the starter number) followed by generational numbers and names going forward. For instance a great aunt could be 04-012 (XFMM)/04-013 (XFMF); 03-Sara (xxF); Sara’s daughter would be 04-012 (XFMM)/04-013 (XFMF); 02-Linda:03-Sara (xxFF). The name would be as long as necessary to make it useful. It’s a system designed to help a reader rather than provide unique numbers, and describes a person and their relationship with the base person rather than a position in a tree.

The system I copied above, as I currently use it, produces much, MUCH less complex numbers.

For instance, I am 1.0, my father is 2.0, his father is 4.0, etc. My main concern, which would apply to most such systems, is how one could easily change said system. What good is it if I am ‘1.0’ to, say, a distant cousin who takes up the same tree. They would want to be 1.0 themselves. How would they adjust such a system if they had a gedcom export?

For me, the main goal of a numbering system is to more easily see my direct line, or some other particular surname line. Modern genealogy programs achieve this through color coding and tagging, but again you run into issues if you change programs!

I suspect that, since most programs use some sort of Unique Identifier under the surface that some modified form of UID might work for the same purposes. The UID portion can remain with each individual through any sort of GEDCOM import/export. Then an additional few alphanumeric digits can be added by each researcher for relational/generational reference. Only the extra digits need be visible.

The ‘complexity’ in my system is more apparent than real. It’s a reading system not a numbering system as such. From a numbering point of view there’s huge redundancy.

If I break it down, 012=XFMM : they’re just different numbering systems pointing to exactly the same position on a tree. The 04 is redundant too - it just shows generational distance - as the information is included in the other numbers.
From a numbering point of view it could just be written as 12.
The extra 13 just indicates the other common ancestor.
When reading, I choose which element to look at depending on my interest at the time.

Coming forward is different because it relates to a person, not a position in a tree. The tree has no required elements coming forward.
So it’s about relationships, not tree positions. And descriptive rather than numberical.
Generation number is the same.
The common ancestors are given, using both systems.
But only atree/binary ahnentafel is used coming forward because it describes a relational path and there are no fixed elements for a strict numbering system to be applied to.
The xx simply indicates two common ancestors.
The name could be a group of names, a place, a date of birth - whatever I need to instantly know the person.

It’s a system designed to be read rather than apportion UIDs.
It works for me, fits comfortably into a plaintext research system.
It doesn’t interface with the other systems out there. I have little interest in importing GEDCOMS - or even exporting them. Most trees I have seen contain too many errors and lack evidence. From the little I have seen, most researchers have their own systems to support their investigations.

The change/conversion required ought to be fairly easily scriptable.
I’m afraid that I have, consciously, forgotten everything I once knew about gedcom.

I can understand that. In some ways I’m more interested in direct female lines - it’s the only line where every member of the current generation has inherited the same DNA from their ancestors. Y chromosome inherited only by males.

@glimfeather, what is your experience so far?

Hi, sorry to bump such an old thread, but I’m having problems of scale (which I’m sure you all ran into) and was wondering if any new plugins have come out in the past couple months that might could help with genealogy.

My particular problem is that I’m building a tree from Philip IV of France down to Elizabeth I of England I of England and Henri III of France (and hopefully, if I can, I’d like to show how the Ducs de Guise are related to them as well) but I’m not sure if I want to go all the way back to Philip IV or just as far back as Henry V and Catherine of Valois. What I really want to do is go wide to show lots and lots and lots of cousins, which on the English side I know really gets rolling with Edward III (whose mother was also French, he’s the grandson of Philip IV le bel so I may as well just keep going). The point is to show how interconnected the royal houses of France and England were at this time, until the English ladies began marrying common tradesmen and merchants like Owen Tudor. All this is for my eventual dissertation, but mostly for my personal notes and keeping everyone straight because I’m reading a lot of historical tragedies.

Has there been any improvements in graph-making plugins? And what would you suggest for my own endeavor? I’ve tried mermaid, but it keeps giving me errors, and that’s really frustrating, so I may just move on to Juggl or something else.