Mark Some thoughts
With two parents in genealogy it is recognised there is a patralinial and matralinial tree and when exploring relationships one chooses which tree to follow with, towards ancestors or descendants. In either case or when wanting to investigate both trees it is wise to limit how deep you go. Perhaps 3 back 3 forward and then allow selection of any member in the tree and regenerate 3 back and 3 forward for the selected member. in active directory, file systems and edirectory inheritance is a litte different, its part of what I alluded to before dealing with missing values. Basicaly you look for a value locally then walk back up the tree until you find the value you are after. This allows the minimum data to be provided because it effectively trickles down unless overridden. I have built a method to produce what I call a branch, Basicaly you iterate the whole tree but store a strait line of ancestors for each item in the tree e.g. grand, father, son, grandson in a patralinial branch. You can then use the branch to search for an inherited attribute/value. If you did this for both matralinial and patralinial branches you could get conflicting results and this needs to be resolved. Evolution effectively does this randomly with exceptions. When this is resolved the result needs to be stored so that subsequent decendants inherit the result. All this can already be done with a little work. There is one exception to inheritance flowing down the tree that my father likes to remind me. "madness is inheritable, you can catch it from your children" Regards Tony -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/f0afe49d-ffa4-4c62-9012-283bcbff7bb7%40googlegroups.com.