Dear Rscho314,
pack(db_facts) has facilities for auto mapping SQL tables to Prolog facts.
The added bonus is that you can use a common interface for ODBC & SQLite (via pack(proSQLite)).
In my experience ODBC is much more stable and complete, appropriate for multi-table
dbs- but has a high set up cost and low interoperability, whereas SQLite is much more portable and extremely easy to set up.
pack(bio_db) has many tricks for serving data from databases as prolog facts.
And it comes with a number of large tables that can be used to test in-memory
vs DB performance.
In terms of probabilistic programming, there is also pack(bims).
In terms of analysis there are interface packages to R (pack(Real) for terminal,
and Rserve (https://swish.swi-prolog.org/example/Rserve.swinb) for Swish).
Hope it helps,