# KEHOME/knowledge/applications/Genealogy/greadme.htm # 1999/7/16 # new syntax May/21/2003 #================# # Family History # #================# # The files in the KEHOME/family directory support # all the functions of a typical Genealogy application. # 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 for information is simple, e.g., do read from family.ku done; 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 done; # all marriages ? has sex=female; # all females ? isa person; # all persons do read from tree.ku done; do ancestor od name done; # ancestors and spouses do descendant od name done; # descendants and spouses do read from group.ku done; # or lattice.ku using isa*,ise* name isa* ?; # ancestor tree (up) name isc* ?; # descendant tree (down) name isa**1 ?; $Question isc**1 ?; # siblings (up 1, down 1) name isa**2 ?; $Question isc**2 ?; # cousins (up 2, down 2) name isa**2 ?; $Question isc**1 ?; # aunts & uncles (up 2, down 1) # You can use "." (current concept) to simplify searches, e.g., set . = name; # change "." to name do print od $child done; # children do print od $parent done; # parents do print od $phone done; # 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 unique names of the form "person/1", # "person/2", etc. Many other choices are possible, e.g., using # birthday as a suffix # Richard McCullough 1936 # Richard McCullough 1940 # Richard McCullough 1966 # You can use the "*" wildcard to get a list of all names that # match a pattern, e.g., do find od *Richard*McCullough* done; # alias.rel records unique name, nickname, preferred name and # other names. I recommend that you include # birth name # adoption name # married name # You can use check.htm to find MISSING unique names and other name CONFLICTs. # You can use these commands to retrieve the different parts # of a name set $name = Dr. Richard H. McCullough 1936; do title-name od $name done; # Dr. do first-name od $name done; # Richard do middle-name od $name done; # H. do last-name od $name done; # McCullough do suffix-name od $name done; # 1936