FamilySearch / gedcomx

An open data model and an open serialization format for exchanging genealogical data.
http://www.gedcomx.org
Apache License 2.0
355 stars 67 forks source link

GedcomX and Gramps XML #280

Closed weitzhandler closed 9 years ago

weitzhandler commented 9 years ago

Hi,

Has anyone ever used Gramps XML? How is it comparable to GedcomX? What's the major differences between the two schemas, and what major advantages/disadvantages can be noticed when comparing the two?

stoicflame commented 9 years ago

I'm not as familiar with Gramps XML as I should be.

I'd bet that @jralls can provide more information, though...

jralls commented 9 years ago

GrampsXML is Gramps's backup format (the primary storage being in BerkeleyDB) and matches the Gramps data model. The schema is documented in RelaxNG and as a DTD in the Gramps sources. Since it's a backup format for a particular program it provides for a lot of program state information that wouldn't make sense in a data interchange format like GedcomX.

At the most abstract the data models are similar in that the major genealogical classes are all top-level independent classes. The implementations are rather different, though, both because the Gramps schema is tailored to Gramps's particular features and because GedcomX is optimized for a RESTful API.

From a practical standpoint, using the Gramps schema will let your program interact with Gramps while the GedcomX schema will let you work with FamilySearch and through FS with any of FS's certified partners.

stoicflame commented 9 years ago

Thanks, @jralls !

weitzhandler commented 9 years ago

First of all, thanks @stoicflame and @jralls for your quick replies.

My question is, can I fully store Gramps XML data in GedcomX or will I have to lose data or attributes.

jralls commented 9 years ago

You should be able fully store your genealogical data in GedcomX, though you'll have to write the exporter and importer; there isn't yet one for Gramps. You won't be able to store the Gramps state information in GedcomX, so it won't serve as a full backup. Since the only reason to export to GedcomX would be to exchange data with a different program that wouldn't be able to use the state information anyway that shouldn't be a problem.