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.
TiddlyMap is not always usable (as far as I have heard from others)
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
If one individual had a single parents field with one or more (typically two) parents named ...
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.
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).
Added a slightly more complex example (the second one).
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
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
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.
... 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.
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
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
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.
"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?"
"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?"
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
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.
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.
Not so sure about the switch you mention
... 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.
... the ultimate algorithm.