Skip to content
Luther Tychonievich edited this page Nov 20, 2014 · 13 revisions

Polygenea

Polygenea is designed to be a simple and versatile data model for all kinds of family history research. Its goals include

  • Representing the core atomic elements of genealogical research

  • Allowing disagreements and alternate views without conflict

  • Being able to represent all of the semantic nuances of all existing models

  • Simplicity: the spec should be as small and simple as possible

A variety of end-user activities I believe are made easier with this model can be found on the Advantages page. More developer-centric views are on the Use Cases page.

You can read more in the following articles:

  1. Guiding Principles, a set of ideals and beliefs that guide polygenea development

  2. The 8 Node Types, describing the data model itself, and some discussion of why these 8.

  3. Serialization, describing several options for turning the nodes into byte streams I anticipate converging on a prefered model at some point.

  4. Import and Export between tools with different internal data models.

  5. Use Cases, initially including

Reference Implementation

The reference Java and D implementations currently available use reflection and meta-programming (which makes the hard to read) and reflect a slightly older, more complicated version of Polygenea. Updated reference implementations are in the works.

Licensing

I hereby release polygenea, including its ideas, documentation, and reference code, into the public domain.

Clone this wiki locally