Looking for an example family tree

333 views
Skip to first unread message

bimlas

unread,
Dec 19, 2019, 3:36:14 AM12/19/19
to TiddlyWiki
I'm working on an innovative, new kind of mindmap. To show its skills, I would need an example family tree. I mean the kind of family tree where triangles, rectangles, etc. are marking the family members. I know one of you is looking for a way to represent this kind of family tree, I would ask him/her to give me an example and I try to implement it.

TiddlyTweeter

unread,
Dec 19, 2019, 6:14:52 AM12/19/19
to TiddlyWiki
Ciao Bimlas

I'm very happy to do this. I'll write up an example with a diagram and  put it in a wiki later today for you.

Best wishes
Josiah

Chuck R.

unread,
Dec 19, 2019, 6:20:07 AM12/19/19
to TiddlyWiki
Neat. Are you actually going to use this for a family tree? You could make a tiddler for each person use each tiddler's fields for data on one person like: birth date, birth place, death date, death place, spouse name, etc.


bimlas

unread,
Dec 19, 2019, 6:26:33 AM12/19/19
to TiddlyWiki
Chuck R,

You are right, but there is no really good way to traverse the family tree: TableOfContents can only display one branch of the family tree, and TiddlyMap is not always usable (as far as I have heard from others). I'm currently working on a plugin that can easily traverse the family tree (though you can't see it because it doesn't display graphically)

bimlas

unread,
Dec 19, 2019, 6:28:32 AM12/19/19
to TiddlyWiki
Josiah,
 
I'm very happy to do this. I'll write up an example with a diagram and  put it in a wiki later today for you.

Thank you! 

TiddlyTweeter

unread,
Dec 19, 2019, 6:52:37 AM12/19/19
to TiddlyWiki
bimlas wrote:
TiddlyMap is not always usable (as far as I have heard from others)

Just an FYI. It is basically the same as for TW, and for a similar reason, the graphing system behind TiddlyMap can't depict "conjunction" and "descent" at same time. So it can only do "unilineal descent" (i.e. through fathers or mothers, but not through both ["bilateral descent"] at the same time). I discussed it at one point with Felix on GitHub. He thinks there is no way round that problem in TiddlyMap.

Best wishes
Josiah  

TiddlyTweeter

unread,
Dec 19, 2019, 11:08:45 AM12/19/19
to TiddlyWiki
Ciao Bimlas

I posted a simple chart here for you https://tidbits.wiki/tw_kinship/tw_kinship.html

There are also a few notes on the two basic types of kinship chart ("term charts" & "family trees"). The two approaches are fully compatible.
Also a few notes on the main recognised symbols  that these charts use and how colouring can be used well to show descent lines. 

The example chart I include is a "term chart". I think you will find this is best for understanding the underlying logic of these charts.

Finally a couple of site links to examples.

If you need any further info please feel free to ask me! 
Very interested to see how you get on!

Hope its useful!
Best wishes, Josiah


On Thursday, 19 December 2019 09:36:14 UTC+1, bimlas wrote:

bimlas

unread,
Dec 19, 2019, 11:28:36 AM12/19/19
to TiddlyWiki
Josiah,
 
I posted a simple chart here for you https://tidbits.wiki/tw_kinship/tw_kinship.html

It's more than enough, thank you very much! 

bimlas

unread,
Dec 19, 2019, 2:20:21 PM12/19/19
to TiddlyWiki
Josiah,

This example helped me to discover the shortcomings of my solution. Thanks again!

Could I ask for another diagram that is not so symmetrical, please? It would be better to test the traversal of the "graph".

TiddlyTweeter

unread,
Dec 19, 2019, 2:37:09 PM12/19/19
to TiddlyWiki
Bimlas

No problem. I will add another example sometime tomorrow. I'll let you know.

Best wishes, Josiah

TonyM

unread,
Dec 19, 2019, 4:48:18 PM12/19/19
to TiddlyWiki
Bimlas

Ty/Josiah has a wealth of knowledge on this.

Fyi Actualy identifying male and female and thus the matralinial and paternal lines will help. I can already envision this with two kin filters. If one individual had a single parents field with one or more (typically two) parents named you could test to see which is female thus mother and which is father. However a separate field for birth father and mother could be itterayed in future to include step parent even first step mother etc for other relationship trees.

Why would I suggest this? Because ultimately you may need to extend it to support real world occurances so you need to allow for this rather than forcing a rewrite.

If anyone can do this I think it's Bimlas coding and Josiah advising but please ask for support if needed. I have done a lot of work on hierarchies and where they vary from simple hierarchies.

Regards
Tony

bimlas

unread,
Dec 20, 2019, 2:08:32 AM12/20/19
to TiddlyWiki
TonyM,

If one individual had a single parents field with one or more (typically two) parents named ...


Originally I started this route and it seemed like a good solution for parents, but it led to duplication of siblings. If there is a family that has a mother and a father, then I have to indicate to the father that the mother is his wife and vica versa. I have to list each of the brothers and sisters separately for brothers and sisters. After thinking through this, I came to the conclusion that the family itself and its participants should be accounted for in a separate tiddler. For example, I could create a "Mom + Dad's Family" tiddler with three fields: parents, parents relationship, children. Each field would be a list of individuals (father, mother, brother, etc.). If I'm wondering who are the chidlren of "father", I'm looking for the family tiddler where "father" is in the "parents" field ("Mom + Dad's Family"). If I'm wondering about "father" parents, I'll find which tiddler contains "father" in the "children" field ("Grandmother + Grandfather's Family"). With this method, a "father" can belong to multiple families because they are divorced in one family ("parents relationship" field) and married in the other. One disadvantage of this is that it is harder to do a recursive search (dad's dad).
 

Why would I suggest this? Because ultimately you may need to extend it to support real world occurances so you need to allow for this rather than forcing a rewrite.


 You may have misunderstood me (or I misunderstand you): not the kin filter is what I am developing.
 

If anyone can do this I think it's Bimlas coding and Josiah advising but please ask for support if needed.


 Thank you for your encouragement and help! :)

TiddlyTweeter

unread,
Dec 20, 2019, 2:27:17 PM12/20/19
to TiddlyWiki
Ciao Bimlas ...

Added a slightly more complex example (the second one). It is a "Term Chart" like the last one. But not so symmetrical as the last one. "Ego" is a woman. Covers 4 generations. One above "ego", two below. One divorce (no re-marriage). One death (no descendents). (You could ignore the divorce or death if it makes it too complicated!)


Let me know if you want more. Or if you want an example "Family Tree."

Best wishes
TT

TiddlyTweeter

unread,
Dec 20, 2019, 2:49:26 PM12/20/19
to TiddlyWiki
bimlas wrote:
Originally I started this route and it seemed like a good solution for parents, but it led to duplication of siblings. If there is a family that has a mother and a father, then I have to indicate to the father that the mother is his wife and vica versa. I have to list each of the brothers and sisters separately for brothers and sisters. After thinking through this, I came to the conclusion that the family itself and its participants should be accounted for in a separate tiddler. For example, I could create a "Mom + Dad's Family" tiddler with three fields: parents, parents relationship, children. Each field would be a list of individuals (father, mother, brother, etc.). If I'm wondering who are the chidlren of "father", I'm looking for the family tiddler where "father" is in the "parents" field ("Mom + Dad's Family"). If I'm wondering about "father" parents, I'll find which tiddler contains "father" in the "children" field ("Grandmother + Grandfather's Family"). With this method, a "father" can belong to multiple families because they are divorced in one family ("parents relationship" field) and married in the other. One disadvantage of this is that it is harder to do a recursive search (dad's dad).

I think it is not easy.  Let me comment from the point of view of someone who has made lots of these charts of actual families ... 

"CONJUGATION" is critical. It is the marriages (or co-habitation status etc) that create the bond that children come from (including adoption). Once a person is BORN/ASSIGNED their existence is NOT MUTABLE. But conjunctions ARE mutable/and often multiple over time (e.g. death, divorce, re-marriage). 
So you have a combination of mutable & immutable. Its difficult to categorise/depict the mutable part!

The reality of what to do lies in practicality. What is it that end most users need to depict?
For most of the Western world that would be the "nuclear family" (mom, dad, children) replicated one step up (i.e. mom & dad's parents) and one step down (i.e. mom & dad's children's children). That is 4 generations in total.

Just getting closer to that point would be a major achievement!!! :-)

I think once the complications of "conjugation" can be handled everything will get easier. 

Just my thoughts!
Josiah

bimlas

unread,
Dec 20, 2019, 4:36:39 PM12/20/19
to TiddlyWiki
Josiah,
 
Added a slightly more complex example (the second one).

Thanks for the example, that's what I wanted! 

bimlas

unread,
Dec 20, 2019, 4:40:05 PM12/20/19
to TiddlyWiki
Josiah,

Thanks for the advice, I'm thinking about it!

TonyM

unread,
Dec 20, 2019, 5:11:35 PM12/20/19
to TiddlyWiki
Josiah,

I think the idea of immutable and mutable relationships is importiant. In fact some relationships are mutable in ways people do not think off for example genetics can expose a different genetic father. I think tentative relationships could have value e.g. he is my father in marriage and by default my genetic father but these are two relationships. One which can change with new information.

At first it seems almost chaotic but there is one scale against which we can align everything possible and that is time. Birth and death dates but also marriage, defacto and divorce some of which have extended meaning such as my mothers remarriage is also the date I may become a step child. Relationships can have start and end dates including be reestablished.

However valuable time is to order many things including the changing of relationships over time it becomes even more important to handle fuzzy or missing values.

Bimlas my point about the kin operator is it can be used to achieve these objectives. It could be better to enhance the kin operator than write a new one. But this is your choice.

Tony


TonyM

unread,
Dec 20, 2019, 5:27:40 PM12/20/19
to TiddlyWiki
Bimlas

Sorry for my previous stream of consciousness reply. I agree every person should have there own tiddler and a field for each essential relationship is important e.g. mother father but my siblings are a relationship that should be derived not encoded, ie they share one or more of my parents. Or cousins the children of my aunts and uncles should be derived. I think whereever possible a relationship should be evaluated and not encoded.

Please forgive my extending into advanced concepts.

I can imagin a single relationships table for all mutable relationships keyed by date with possible fuzzy and missing values. When navigating a tree you would do so at a given time, typically now. However one day it would be possible to introduce a time slider so one can view the tree, even annimate it over time. E.g. new tree is derived after divorce, we can handle "dotted line" relationships.

Whilst this sounds complex I think it may be one of the only ways to truly represent such potentially complex data. As a result of accepting the reality of change and time as a serial number I think we can Actualy reduce the complexity of the problem in the long run.

Regards
Tony

bimlas

unread,
Dec 23, 2019, 6:10:22 AM12/23/19
to TiddlyWiki
TonyM,


I agree every person should have there own tiddler and a field for each essential relationship is important e.g. mother father but my siblings are a relationship that should be derived not encoded, ie they share one or more of my parents. Or cousins the children of my aunts and uncles should be derived. I think whereever possible a relationship should be evaluated and not encoded.


I totally agree, but I have a problem with implementation. How do I indicate in Josiah's second term chart that "father" has sisters ("aunt" and "aunt")? We don't know who their parents are, so they can't come from a common ancestor. It could be solved with a randomly named ancestor, but that wouldn't be a nice solution.

TiddlyTweeter

unread,
Dec 23, 2019, 6:47:22 AM12/23/19
to TiddlyWiki
bimlas wrote
... but I have a problem with implementation. How do I indicate in Josiah's second term chart that "father" has sisters ("aunt" and "aunt")? We don't know who their parents are, so they can't come from a common ancestor. It could be solved with a randomly named ancestor, but that wouldn't be a nice solution.

Absolutely right. Indeed that is a difficult issue. The problem arises in real kinship recording too. 

You can't really trace back to a "foundational conjugation" (i.e. the parents of the first generation depicted in a chart) because there will always be parents before them too (i.e. an issue of infinite regress can arise).  

I will think about it and write a note for tomorrow with some thoughts from how anthropologists deal with this.

All this is very interesting!

Best wishes
Josiah


bimlas

unread,
Dec 23, 2019, 6:49:11 AM12/23/19
to TiddlyWiki
Josiah, TonyM,

It is not ready yet, but I would like you to try to see if it is useful at all.


I do not write too many explanations because I wonder whether its use is clear or difficult to understand.

Does it make sense for such a "mindmap", or really only I find useful / interesting? If you find it useful, what are you missing from it?

TonyM

unread,
Dec 23, 2019, 7:15:20 AM12/23/19
to TiddlyWiki
Bimlas

Some thoughts without having worked through the details.

If mother aunt and uncle exist they must be brothers and sisters. Therefor unless you have information to the contrary they share the same parents. It is thus fair to have unknown mother and father but they must exist.

Remember this diagram is focused on ego and not very deep. It seems to me although you may not know the names of siblings parents they can be considered to exist. If not then you can't assert they are siblings.

I will review your example more.

Tony

TonyM

unread,
Dec 23, 2019, 7:50:14 AM12/23/19
to TiddlyWiki
Further to my last point.

If you arrive at an unknown parent the tree can not be drawn with names, which is the same when you arrive at a living descendant with no children.

However unlike the future, in the past you can assume an infinate tree of individuals having two parents. The only thing you can't know is some of the unknown people could in fact be the same person. E.g. one man/woman could be the father/mother in more than one family branch.

Given this fact you can generate a backward tree for every individual until you arrive at two unknown parents. It is thus possible to navigate a tree backwards in time, then forwards in time but only so far as you return to and use two unknown biological parents.

Remember we can have full siblings for which we have unknown fathers, especialy when a woman has a multiple birth such as twins (maternal and fraternal) because they do have the same parents. I know this because this is how we found our relatives via a twin.

The future will be more complex with children with three biological parents already possible, not to mention birth mother and genetic mothers and parent vs genetic fathers being different.

I am working to simplify this, although it may not look like it.

tony

TiddlyTweeter

unread,
Dec 23, 2019, 8:03:25 AM12/23/19
to tiddl...@googlegroups.com
TonyM:

If mother aunt and uncle exist they must be brothers and sisters. Therefor unless you have information to the contrary they share the same parents. It is thus fair to have unknown mother and father but they must exist.


Ciao Tony & Bimlas,

Right. Everyone has parents. Even if unknown. The problem is that there is a "switch" here from actual people known to "implied parents" if they are not recorded.

It brings out the complexity of the issue Bimlas is talking about.

For instance, in a "term chart", say you SEE ONLY that the parents of Ego are "F & M" (father and mother); then you might IMPLY their parents' parents are "MF, MM, FF & FM" (i.e. mother's father etc) when not shown. But where do you stop?

Remember this diagram is focused on ego and not very deep.


Right in a way, wrong in another. 

The question of DEPTH NEEDED in "Family Trees" varies by culture. In the Western world, they are largely "nuclear family" based.
Four generations is about the limit of what most Westerners would actually know or cared about. 

In other cultures (usually with unilineal descent) it is often more like 10 (which would be vast & complex to capture!!! :-).

It seems to me although you may not know the names of siblings parents they can be considered to exist.


Right. The issue here is they need to be "implied". So there is a "switch" to a different level of explanation
That makes the actual programming quite complex IMO??

Best wishes
Josiah

TiddlyTweeter

unread,
Dec 23, 2019, 8:19:02 AM12/23/19
to TiddlyWiki
Update for those on email ...

I corrected the line ...

"For instance, in a "term chart", say you SEE ONLY that the parents of Ego are "F & M" (father and mother); then you might IMPLY their parents are "MF, MM, FF & FM" (i.e. mother's father etc) when not shown. But where do you stop?"

to what I meant ...

"For instance, in a "term chart", say you SEE ONLY that the parents of Ego are "F & M" (father and mother); then you might IMPLY their parents' parents are "MF, MM, FF & FM" (i.e. mother's father etc) when not shown. But where do you stop?"

Best wishes
TT

TonyM

unread,
Dec 23, 2019, 8:21:38 AM12/23/19
to TiddlyWiki
Josiah

Not so sure about the switch you mention but if you generate backwards until two unknown parents for every individual you can stop there. It is a finite regression. It would be quite easy to do this and thus determine the maximum number of relationships that can be known from the data available. I think Bimlas could even handle this in the ultimate algorithm.

Regards
Tony

bimlas

unread,
Dec 23, 2019, 8:33:18 AM12/23/19
to TiddlyWiki
TonyM, Josiah,

Although the topic is really interesting, but since I needed a family tree for my mindmap solution, could you please test it?

bimlas

unread,
Dec 23, 2019, 8:47:42 AM12/23/19
to TiddlyWiki
TonyM,


If you arrive at an unknown parent the tree can not be drawn with names, which is the same when you arrive at a living descendant with no children.


You may have touched an important thing: Originally, I thought it was difficult to deal with an unknown ancestor because we store the ancestors of the entities ("parents" field), but if we instead store the children of the entities ("children" field), we run into the same problem because there is no ancestor, to indicate his children. So it is harder to handle that a tree has no root than it has "no leaves" (which is practically impossible if the tree is not a single entity). I have a feeling that we have to search for a solution in the field of graph theory. 
 

The future will be more complex with children with three biological parents already possible, not to mention birth mother and genetic mothers and parent vs genetic fathers being different.


 Increasingly, I have the feeling that the lines of the chart need to be stored somehow, so who they are connecting. (see "parents", "parents relationship" and "children" fields in https://groups.google.com/d/msg/tiddlywiki/R0K_mAlDH1k/IOsgRi14BAAJ). If the relationship itself was a separate tiddler, it could be assigned a date, an infinite number of participants, unique information (who the bridesmaid was at the wedding).

TiddlyTweeter

unread,
Dec 23, 2019, 8:49:16 AM12/23/19
to TiddlyWiki
Sure. I was already looking at it. I'll comment tomorrow.

Best wishes
Josiah

TiddlyTweeter

unread,
Dec 23, 2019, 9:32:07 AM12/23/19
to TiddlyWiki
TonyM wrote:

Not so sure about the switch you mention


Simply that at the end of explicit parents is the implying of previous parents.
 

... if you generate backwards until two unknown parents for every individual you can stop there. It is a finite regression.


... It would be quite easy to do this and thus determine the maximum number of relationships that can be known from the data available. 

I am not a programmer so I'll take your word for it. 

But it is pretty obvious you'd need to "imply" the "ultimate root" of a constructed tree.

So "IMPLY" IS the switch. 
 

 ... the ultimate algorithm.



Best wishes
TT

TiddlyTweeter

unread,
Dec 27, 2019, 4:46:31 AM12/27/19
to TiddlyWiki
Ciao Bimlas

Sorry for slight delay in responding.

I think this solution is very useful! 

I'm not sure how obvious it would be to users not familiar with what is being discussed. But don't let that put you off!

As far as I can see, after some testing, this is a viable basis for a human kinship navigator.

Many tx 
Josiah

On Monday, 23 December 2019 14:33:18 UTC+1, bimlas wrote:
Reply all
Reply to author
Forward
0 new messages