1. A method of constructing a family tree, comprising: indexing a plurality of person records, each person representing a person, by surname, first name, birth date, or other data relevant to the person; receiving a request from a user to construct and return a file comprising the family tree; using a plurality of primary source records from one or more external sources to construct the family tree in response to the request, wherein the plurality of primary source records indicate one or more sources of genealogy information related to one or more person records and one or more relationship records identifying relationships between persons; comparing person records identified as related to one or more persons, wherein the comparing is based on at least one or more of name, birthdate, birth place, death date, death place and other personal characteristics; based on the comparison of person records, generating one or more scores reflecting the likelihood that two or more of the plurality of person records represent the same person; after the generation of the one or more scores, comparing relationship records identified as related to one or more persons, wherein the comparing is based on at least one or more of parent, child, spouse, sibling, grandparent, marriage and other personal relationships and event relationships between persons; based on the comparison of relationship records, revising the generated one or more scores reflecting the likelihood that two or more of the multiple person records represent the same person; when the revised one or more scores are above a predetermined threshold, consolidating the person records likely representing the same persons into one or more consolidated person records; sending a file comprising the family tree to the user, wherein the file further comprises the consolidated person records.