# KEHOME/knowledge/rhm/applications/Genealogy/greadme.html # Richard H. McCullough Mar/12/2007 Aug/24/2008 Sep/23/2014 Apr/1/2015 #================# # Family History # #================# The most important question regarding Genealogy data is: What are the essential concepts? My answer is: birth, death, marriage, divorce, children, alias Other info. such as address, phone, email, work, school may also be included. The files in this directory support all the functions of a typical Genealogy application. The mKE inputs are the relations in the rel subdirectory. The mKE outputs are in the ged and report subdirectories. The outputs include a standard GEDCOM file, which can be read by Genealogy programs such as Personal Ancestral File. To protect your family history data, I recommend that you copy all the files to your own private directory. Edit each .rel file, adding your own data. #===========# # Searching # #===========# Searching for information is simple, e.g., name has child = ?; # children of name name has parent = ?; # parents of name name has phone = ?; # phone number of name ? has phone; # all phone numbers ? do marry; # all marriages ? has sex = female; # all females ? isa person; # all persons name isa* ?; # all ancestors of name name isc* ?; # all descendants of name do hodisplay od name,n; # n levels of ancestors and descendants You can use "." (current concept) to simplify searches, e.g., . is name; # set current person to name do print od $child; # children do print od $parent; # parents do print od $phone; # phone number . has ?; # all attributes . do ?; # all actions #==============# # unique names # #==============# Each person must have a unique "name" for recording information. The easiest solution is to use numbers. Many other choices are possible, e.g., using birthdate as a suffix Richard McCullough 1936 Richard McCullough 1940 Richard McCullough 1966 aka.rel records unique name, birthname, preferred name, nickname, married names and other names. You can use the "*" wildcard to get a list of all names that match a pattern, e.g., do find od *Richard*McCullough*; You can use these commands to retrieve the different parts of a name name := Dr. Richard H. McCullough 1936; do title-name od $name; # Dr. do first-name od $name; # Richard do middle-name od $name; # H. do last-name od $name; # McCullough do suffix-name od $name; # 1936 You can use check.mkr to find MISSING unique names and other name CONFLICTs.