A method of creating a family tree includes receiving genealogy data at a
host computing system from at least one primary source and creating one
or more node records and one or more link records using the genealogy
data. The individual node records include at least name data and each
individual link record includes relationship data that represents a
relationship between individual node records. The method also includes
comparing individual node records and identifying pairs of records having
similar data. For each identified pair of individual node records, the
method includes comparing related individual node records and deciding
based on predetermined criteria whether the identified pair of individual
node records represent the same person. The method also includes
consolidating the information from a plurality of records determined to
represent the same person into a single person record. The method also
includes receiving a request at the host computing system from a user
computer to display a family tree and using the individual link records,
the individual node records, and the single person records to create a
data representation comprising the requested family tree. The method also
includes sending the data representation to the user computer.