Bulk loading fact sentences

I’m brand new to RM but excited to start using it because of the concept of “fact sentences”. My “database” for the past 15+ years has been an MS Word file (yeah, you read that right) containing a chronological list of fact sentences. Each sentence contains the person(s) involved, many of them have places, and almost all have one or more endnote citations. I’ve even tried to enforce a consistent syntax for the sentences by type: guardian bond, estate account, will, marriage, etc. I currently have roughly 9K facts covering 2K persons. In parallel, I’ve been manually maintaining a family tree on Ancestry to help me visualize relationships. This brute force hybrid approach has been the most effective in helping me de-dupe people with the same name living at the same time in close geo proximity, which has been my biggest challenge. But, now it’s time to join the 21st century.

I know how to load my Ancestry tree into RM, and I’m going through the tedious process of mapping events to the primary person’s ID from Ancestry. I can then use RM’s UI to flesh out associations, and other cool stuff. But, first I need to get my facts into RM.

Ideally, I would like to bulk upload my facts, the fact-to-person mapping, and the fact-to-source/citation link. Is this possible? Is there any developer documentation on how to do this via SQL?

Thanks in advance!

SQL manipulation of the database is not supported by the vendor.

I’m fluent in using SQLite in association with RM, and I think I would find your project to be extremely difficult. Let’s take the facts first.

You can’t simply bulk load facts because facts can’t exist in RM (or really in any genealogy software) unless they are linked to a person. So the bulk loading of facts would have to include loading the fact-to-person mappings at the same time. The considerations for bulk loading the sources and citations are similar.

It’s hard to know for sure, but this project might be more possible by creating a GEDCOM that could be imported into RM rather then by using SQLite. You wouldn’t want to have to do a gazillion merges after the GEDCOM import, so you might approach it be exporting your RM database to a GEDCOM, writing a program to convert the word file to GEDCOM, and then combining the two GEDCOM’s. Then if RM imported the GEDCOM, it could possibly put all the pieces together for you. But the GEDCOM you would create from the Word file would have to contain all the proper ID numbers for all the people already in your RM database base. This would still be a very, very hard project.

Back to the original idea of doing the whole project in SQLite, surely the project would require come Java or C++ or some such in addition to SQLite. And strangely enough, the hardest piece of the puzzle might be getting the place names entered correctly. That might be harder even than getting the sources and citations linked in correctly. That’s because RM’s place names are not actually part of RM’s facts. Rather, RM’s place names are in a table of their own and RM’s facts simply link to the places. If a place is used in a bunch of different facts, it is in the Place table only once and then a bunch of different facts link to the one entry in the Place table.

Sorry to be so discouraging, but that’s the way I see it.

@kbens0n Not surprising, but I’m willing to close my eyes, cross my fingers, and hold RM blameless if it flakes. But, given Jerry’s comment, it ain’t possible anyway.

@thejerrybryan I suspected as much. However, I like the suggestion of using GEDCOM. Ultimately I want all of my information to be GEDCOM-compliant anyway so it’s portable between systems down the line. Is there a definitive guide on writing GEDCOM?

Honestly, I’m trying not to admit to myself that I should stop wasting time trying to automate this and just start entering the info by hand in RM.


The GEDCOM standard is freely available at gedcom.io and you may find the source of the standard itself plus some code examples and tools in the GitHub of FamilySearch.

Please be aware that RootsMagic currently supports GEDCOM 5.5.1 and that there is no public roadmap to move to the newer 7th generation of the standard.

Thanks for the pointer, and the warning!

I’d suggest that you post several typical sentences and source and we’d have a better idea on how difficult they’d be to parse.
At 2,000 people, I’d say that you’re at the balance point between the effort of the coding vs the effort of the manual data entry.
Have you looked up these folks on FamilySearch? You may be able to download all of the people in one click and then you could do the verification from your file.