Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Family Tree

 
Scott Selikoff
author
Saloon Keeper
Posts: 4020
18
Eclipse IDE Flex Google Web Toolkit
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey all...

I'm thinking of creating a family tree organization application and was wondering what you guys thought of for storage and display ideas. I was also thinking there might be good programs out there all ready, or open source projects, I could join instead.

I can't decide whether I should use a database or store the data in XML. It seems like a database would be good in the long term but given the amount of missing data for certain fields (like birth/death deaths), an XML page might be more natural, especially given the low need to update existing people (ya know, unless someone comes back to life?)

Also, are there good programs to convert the data into an object graph? I'm definitely not looking to build a graphics system, so at the least I'd be borrowing something from somewhere.

Any thoughts or suggestions?
 
Stan James
(instanceof Sidekick)
Ranch Hand
Posts: 8791
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
A real "computer science" tree probably won't do the job. People marry people with earlier children, their cousins and their ex-wife's sister and all kinds of weird things.

I enjoyed playing with GraphViz and DOT to produce graphs from structured text. You don't get fine control over the layout but it usually does a nice enough job.

A sample that might be as tricky as your family:
 
Nicholas Way
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
There was a product called something like "My Brain" that displayed complex structures as linked nodes; if you clicked on one node, it centered it in the screen and showed all linked nodes on the periphery. Struck me as a good (GUI) model for displaying family tree. Also thinking of writing an app of this kind, as my mother's cousin has just spend some time compiling the information for our family.
 
Paul Clapham
Sheriff
Posts: 21318
32
Eclipse IDE Firefox Browser MySQL Database
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Scott Selikoff:
I can't decide whether I should use a database or store the data in XML.
If you are writing a serious application you should store the data in GEDCOM format. This seems to be the lingua franca of the genealogy world.
 
Ajith Kallambella
Sheriff
Posts: 5782
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Or use some Ontology based framework for modeling relationships on RDF.

 
Matt Harrah
Ranch Hand
Posts: 54
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Personally, I would never *store* the data in GEDCOM format, but you'd want to be able to read/write it. I've done a lot of work with the GEDCOM format and it's lousy, but the previous poster was absolutely correct about it being the lingua franca of genealogical data interchange. A genealogy program that can't handle GEDCOMs is severely crippled.
 
fred rosenberger
lowercase baba
Bartender
Posts: 12185
34
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
so Matt,

I doubt anyone is still waiting for an answer after seven years...
 
Seetharaman Venkatasamy
Ranch Hand
Posts: 5575
Eclipse IDE Java Windows XP
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
yup. here i am
 
Pat Farrell
Rancher
Posts: 4678
7
Linux Mac OS X VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Paul Clapham wrote:If you are writing a serious application you should store the data in GEDCOM format. This seems to be the lingua franca of the genealogy world.


NO, no, no, a thousand times no. GEDCOM is the external transfer language, the least common subset of requirements. Yes, you must be able to import and export from and to GEDCOM, but you do not want to use that internally. GEDCOM was invented by the Mormons (Church of Latter Day Saints) for their own theological needs. It meets them, but it does not meet the needs of general genealogy research. The LDS have stated that they do not intend to revise the standard, it suits their needs well.

Any relational DBMS will work fine. You do have to make is support how complicated real world families are. My grandfather had three wives, so you had better not just have a structure to support one. A multi-linked tree is probably the right in-memory datastore, as genealogy is usually a directed graph.

There is an old bluegrass standard song about this: "I am my own grandpa"
 
Paul Clapham
Sheriff
Posts: 21318
32
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yup, both you and Matt describe what should be done much better than the way I put it those many years ago.
 
Pat Farrell
Rancher
Posts: 4678
7
Linux Mac OS X VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Oh wow, I didn't notice how decomposed this thread was.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic