1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. If you're looking for the LostCousins site please click the logo in the top left corner - these forums are for existing LostCousins members only.
  3. This is the LostCousins Forum. If you were looking for the LostCousins website simply click the logo at the top left.
  4. Coronavirus Corner - a place to share your hopes, dreams, and frustrations.
  5. Only registered members can see all the forums - if you've received an invitation to join (it'll be on your My Summary page) please register NOW!

Budgie Code

Discussion in 'Digital records' started by Suffolk Budgie, May 12, 2013.

  1. I use Brother's Keeper, and when I upgraded a few years ago from the old DOS-based version (v.3?) to a Windows-based edition, I had to spend nearly a year going through my 'notes' field to extract what were really 'sources', and make proper use of the new fields that the later version of the program provided. Since BK adds its own sequential number to each new person added, the 'Reference' field still remained blank. For some while I wondered how best to make use of this additional facility. At last, I devised what I have called 'Ahnentafel-plus', extending the conventional Ahnentafel numbers to accommodate all kinds of indirect relationships, to the extent that everyone on the database now has an Ahnentafel-plus reference, which is sortable in Excel, and can be used there for other purposes.
     
  2. AndyMick

    AndyMick LostCousins Star

    Very interesting - are you willing to share your numbering method? I devised one once but never used it in anger - a second marriage was denoted 'ii' (first marriage was optional), and offspring were given a letter, eldest A. So 4.A.ii.5 would be my paternal grandfather's eldest son's second wife's paternal grandmother (I think!)
     
  3. I'm quite willing to share my numbering system - I have the details on a spreadsheet, so an e-mail attachment would be the most suitable means, but - ATTENTION MODERATORS! - are we allowed to exchange e-mail addresses on here?
     
  4. GillW

    GillW LostCousins Member

    Yes I too am interested in finding a method of 'coding' ancestors. I have put my Ancestry 'list of people' into an Excel file and would like to give a code to each person so I could tell that e.g. 'Jane Smith' is the wife of my third cousin once removed! Please could you give us an example of your code system?
     
  5. Alexander Bisset

    Alexander Bisset Administrator Staff Member

    Please do not post your email address on the public forum! If you wish you may of course send a private message to a user. Once you've been a member for a week and made a number of posts your status will change to "Member" at that point you will be able to add attachments to forum posts.
     
  6. Let's take the example you suggest - the wife of your third cousin once removed. There are two possibilities. The common ancestor you share with your third cousin would be your great-great-grandparent, with an Ahnentafel no. in the range 16 to 31 - let's take it up the male line to keep it simple, and say no. 16. His children will be 8, your great-grandfather, and 8+1, his younger brother, your great-great-uncle. The next generation will be 4, your grandfather, and 8+1.1, your grandfather's first cousin; the next generation will be 2, your father, and 8+1.1.1, your father's second cousin; and the next generation will be 1, yourself, and 8+1.1.1.1, your third cousin. Your third cousin once removed will be your third cousin's son, i.e. 8+1.1.1.1.1 and to indicate his wife, I would add an 's' for spouse, thus: 8+1.1.1.1.1s -- and if the lady in question were his second wife, the 's' (for the first spouse) would give way to 't', and so on.

    The system can be extended to include her relatives, too. So, if she had been married before, her earlier spouse would be 8.1.1.1.1.1sr ; any children of her earlier marriage would be 8.1.1.1.1.1s.1 , 8.1.1.1.1.1s.2 and so on; her parents would be 8.1.1.1.1.1s/2 and 8.1.1.1.1.1s/3 ; you might also want to record her extended family, so her aunts or uncles would be 8.1.1.1.1.1s/2+1 or 8.1.1.1.1.1s/3-2 etc. The / indicates the start of a separate sequence of Ahnentafel numbers, now relative to her, instead of to the original sequence, relative to you. It will be apparent, therefore, that the incidence of either a letter or the slash will indicate that an individual so labelled will not be your blood relative

    If the descent were through your great grandfather's elder sibling, the + would change to -, and if there were intervening siblings, then these would count either way from your direct ancestor, so that complete family might be: 8-4, 8-3, 8-2, 8-1, 8, 8+1, 8+2 . In these examples, the .1.1.1 etc indicate the first child in each case, irrespective of gender; if the descent is through younger children, the 1 would change to 2, 3 or higher numbers accordingly.

    But your third cousin once removed could also be your father's third cousin, with the common ancestor a generation further back, which would mean that his wife's Ahnentafel-plus reference would work out to be 16+1.1.1.1s
     
  7. Alexander Bisset

    Alexander Bisset Administrator Staff Member

    Doesn't such a numbering system if used in a paper based system suffer a fatal flaw? I can imagine carefully numbering all the relatives and them later finding an extra child that then causes all the numbering to change as the younger children you previous knew about have got the wrong record numbers attached. The 2's become 3's, 3's become 4's etc. Which if this is intended for paper records means a n exceptionally tedious trawl through the records re-indexing them. With the dread knowledge that its all too likely to need re-done again as you find more in-between children.

    Alternatively if it's for a computerised record, then surely there are any number of programs out there that could load a gedcom in a few minutes and tell you instantly the relationship between any two individuals without resorting to a cumbersome numbering scheme.

    I may be missing something but I seriously can't see the point of the numbering scheme other than an exercise for its own sake. I must be missing some major benefit that I just can't see as I can't currently understand why anyone would bother.

    Yours utterly baffled.
     
    • Agree Agree x 2
  8. Cathy

    Cathy Moderator Staff Member

    I'm also baffled. Doesn't BK give you the ability to calculate relationships? I moved from BK to Legacy in 1998 because of Legacy's superior sourcing which has only got better. Legacy can also calculate indirect relationships.

    Is it so you can sort on relationship in Excel? Since using Legacy I haven't had the need to try and analyse data elsewhere. Perhaps I would if I were a serious one name study person but then the people wouldn't be connected so the sort would need to be on name and birth dates etc.

    That said, I have a friend who uses Legacy who used to put her own reference in the User ID. It came over from her paper days. She still keeps more paper than I do but I don't think she still maintains her complicated numbering system - which like yours was an extension of the Ahnentafel numbers. She certainly hasn't talked about them for a long time.
     
  9. Tim

    Tim Moderator Staff Member

    Hi Suffolk Budgie,

    You've obviously spent a lot of time developing this numbering system, but what does it solve? What do you now use it for?
     
  10. Alexander, I agree with your comments, especially the need to revise the numbers when additional siblings are found. The system was not developed to calculate relationships. As both you and Cathy have said, BK and other programs already do this. I responded to the question GillW put, to illustrate how the system works. While it is possible to identify relationships from the Ahnentafel-plus numbers, and I have devised a chart to assist with this, it is cumbersome and, in the face of other alternatives, unnecessary.

    The purpose for which I devised it was mainly to be able to manipulate my data within Excel - and for this reason I should have mentioned the need to provide the original Ahnentafel numbers with leading zeros, so that they are of even length and sort correctly. My main purpose for doing this is to present a whole family segment over several generations in as small a space as possible in order to get an overview of the completeness of my investigations - where to dig next, if you will. I have then used this Excel data to examine my census coverage, to see who has not been located at each census during which they lived, fill in the gaps, and follow the migrations of families and individuals.

    For both of these purposes I needed a reference that reflected families and relationships. The BK references were not suitable for this, since they are system-based, and reflect only the order in which new people are added to the database.
     
  11. Alexander Bisset

    Alexander Bisset Administrator Staff Member

    Ah that makes more sense. How do you generate the numbers though is this done manually in an Excel column or via some text field in BK? I wonder because I could perhaps add such a sort order to my Family Tree Analyzer program.

    The idea would be that on loading a GEDCOM it would calculate the numbers just as it currently calculates the Ahnentafel numbers. It could then list the individuals in the file in this sort order. That would allow you to cut n paste the bits of rows of data you needed back into Excel without having to manually enter the values. Thus every time you add new people you would know that it would automatically recalculate all the numbers in your entire file.

    Should I call that a Budgie Code?
     
  12. AndyMick

    AndyMick LostCousins Star

    Nice work.
     
  13. Alexander Bisset

    Alexander Bisset Administrator Staff Member

    Potential issue...

    What happens if two children in a family are both direct ancestors?

    eg: person's father and mother are first cousins. That would mean father (2), mother (3). Paternal grandparents (4) & (5) as normal and Maternal grandparents (6) & (7) however lets say 4 & 6 are brothers in a family of 10 and they are 3rd eldest and 7th eldest respectively. The parents of these brothers are (8) & (9) (and 12 & 13 won't exist in this tree). What numbers do the 10 siblings get?

    Either 4-2, 4-1, 4, 4+1, 4+2, 4+3, 4+4, 4+5, 4+6, 4+7 or 6-6, 6-5, 6-4, 6-3, 6-2, 6-1, 6, 6+1, 6+2, 6+3 would be valid. Is a rule of keeping the smallest Ahnentafel best? With the additional proviso that you never replace a Ahnentafel? So we would end up with the family of 10 being codes as...

    4-2, 4-1, 4, 4+1, 4+2, 4+3, 6, 4+5, 4+6, 4+7?
     
  14. GillW

    GillW LostCousins Member

    Thank you for the example. I am interested in the comments it generated and the idea of a Budgie code!
     
  15. I do have two such families in my tree. My father's grandparents were first cousins, Ahnentafel 8 & 9. 17 and 18 were sister and brother. I assigned 34 and 35 to their parents, so 36 & 37 weren't used. They were the second and third in a family of seven, who received the refs. 17-1, 17, 18, 18+1, 18+2, 18+3, 18+4. Had there been any other siblings between them, I think I would have adopted the principle you suggest of priority to the smallest Ahnentafel, and used 17+1 before 18.

    Similarly, my maternal grandparents were fourth cousins, so 109 and 113 were sisters. They were the eldest two of a family of six, so the others were 113+1, 113+2, 113+3, 113+4, but their parents were 218 & 219, with 226 & 227 being unused.

    As regards the generation of the numbers, this is entirely manual, and determined at the point that I add new people to BK, where the numbers are added to the 'Reference' field, which is alphanumeric and independent of everything else. I then add them to the spreadsheet at the same time, and the Ahnentafel-plus numbers form a distinct pattern as children are fitted between their parents, down the generations of indirect families, which is a good guide to spotting errors.
     
  16. Alexander Bisset

    Alexander Bisset Administrator Staff Member

    I've now got my program producing Individual lists with Budgie codes. However there is one very annoying aspect of the format for sorting

    Code:
    0002
    0002+01
    0002+01.01
    0002+01s
    0002-01
    0002-01.01
    0002-01.01.01
    0002-01.01.02
    0002-01.01s
    0002-01.01s
    0002-01s
    0003
    This is how the program and indeed Excel appears to sort the codes which is at odds with how you described using the codes. I'd assumed you used Excel to sort the codes?

    Anyway these people are Dad, Dad's younger brother, Dad's younger brothers daughter, Dad's younger brother's spouse, Dad's older brother, Dad's older brother's son, Dad's older brother's son's son, Dad's older brother's son's daughter, Dad's older brother son's first wife, Dad's older brother's son's second wife, Dad's older brother's wife, Mum.

    Now the thing that strikes me is that because of the characters used (nothing after an Ahnentafel), + and - the sort order on a computer is not as expected. Did I misunderstand the sort order or are you just used to sorting manually. It might work if the +'s and -'s were reversed. ie: + for older child and - for younger? On a gut feeling it feels more "natural" that older children have more years and are PLUS and younger children have less and are minus. Is there an alternate reason for +/- the way you have it?

    Confused again.

    With a bit of tweaking and fixing this sort of issue I'd say I'd managed to get the program producing your coding system for any GEDCOM.
     
  17. Alexander Bisset

    Alexander Bisset Administrator Staff Member

    I tried the following amendment using letters.

    O for older, Y for Younger which with S for spouse work for sorting. However it then doesn't work for the individual so I used P for person which for the same family gives...

    Code:
    0002o01
    0002o01.01
    0002o01.01.01
    0002o01.01.02
    0002o01.01s
    0002o01.01s
    0002o01s
    0002p
    0002y01
    0002y01.01
    0002y01s
    0003p
    Dad's older brother, Dad's older brother's son, Dad's older brother's son's son, Dad's older brother's son's daughter, Dad's older brother son's first wife, Dad's older brother's son's second wife, Dad's older brother's wife, Dad, Dad's younger brother, Dad's younger brothers daughter, Dad's younger brother's spouse, Mum.

    Which as you can see actually sorts correctly. It's not exactly your format but almost and means the production of the numbers is entirely automated.
     
    • Good tip Good tip x 1
  18. Alexander, I admire your midnight enthusiasm! I agree that, with these letters instead of + & -, your sequence is exactly like mine. I had to 'tweak' the Excel sort of mine to achieve the final result, but mainly in the areas of 10th child onwards, because I didn't add the leading zero to the earlier children. The only downside to your idea - and I admit it's a *very* low priority! - is that by introducing letters for everybody, there is no longer a distinction between those who are blood relatives and those who are not.

    It does make sense to use the + and - the other way round. For what it's worth, my logic was looking at a like of children in the order they were born, and thinking 'plus going down the line, and minus going back up' And after all, no part of this is 'set in stone'. It's just something that I have found useful for my own (perhaps over-analytical) ends.
     
  19. Alexander Bisset

    Alexander Bisset Administrator Staff Member

    I'd not actually tackled non blood relatives. In the program the column immediately the to left of the Budgie Code is the relation type which can be Direct, Blood, Married to Direct or Blood, By Marriage, Unknown. I have a very large number of unknowns in my tree as I have all my one name study names that are same surname but not linked to my branch. Thus the numbering just wouldn't work for Unknowns. It would perhaps work for By Marriage people though.

    I could modify the display property of the code, so that internally it stores it with a letter so that sorting works but for display purposes it hide's p's and displays a y as a - and a o as a + (or vice versa).

    If this is suitable would you care to try out a copy and compare the output for your file to what you currently store. This would help pickup and lingering bugs in my code.
     
  20. I can see that the system wouldn't work for your 'unknowns', but it can easily be applied to 'by marriages', as indicated in my original illustration (#6 above). It all depends what use you envisage for it. As I hinted this morning, this system is not a fully-finished 'must-always-be-this-way' product. I published it at the outset as an example of how extending the basic, universal? Ahnentafel numbers could provide a useful accessory to the genealogist. So far as I'm concerned, the idea is out there now, if others like to run with it for their own needs, then my own goal has been achieved.

    That said, I have no objection to looking at what you've done, although I'm not exactly clear what you mean by 'my program' and 'my code'. I have no programming experience, and draw the line at using Excel to manipulate data, so I leave it to you to decide how much use I would be in reviewing your achievements.
     

Share This Page