proSQLite
This library allows SWI
to communicate with SQLite databases.
It should also work with small modifications on Yap.
There is a sister package that allows SQL tables to be accessed via Prolog
like facts db_facts.
Installation
It is highly recommended that you install from within SWI using its package manager.
To install simply do:
?- pack_install(prosqlite).
And then load by :
?- [library(prosqlite)].
There are MS wins DLLs included in the sources which SWI 6.3.3 can install
successfully.
Sources (0.1.0, 2012/10/17) : prosqlite-0.1.0.tgz
Sources (0.1.0, 2012/10/17) : prosqlite-0.1.0.zip
Materials
Pldoc produced documentation: prosqlite.html
Example uniprot database from the paper : uniprot.sqlite (184Mb)
Example queries on the above database (also in examples/uniprot.pl): uniprot.pl
Output from the uniprot example: uniprot.html
Git access: git clone git://www.swi-prolog.org/home/pl/git/packages/prosqlite.git
Publications
ProSQLite: Prolog file based databases via an SQLite interface
Canisius Sander, Nicos Angelopoulos and Lodewyk Wessels
In proceedings of Practical Aspects of Declarative Languages (PADL 2013).
To appear. (January, 2013. Rome, Italy).
[wlpe2012_sqlite.pdf],
[bib]
Exploring file based databases via an SQLite interface
Canisius Sander, Nicos Angelopoulos and Lodewyk Wessels
In ICLP Workshop on Logic-based methods in Programming Environments (WLPE'12)
p.2-9, September, 2012. Budapest, Hungary.
[wlpe2012_sqlite.pdf],[bib]
Thanks
To SQLite developers.
To MinGW and MinGW64 developers,
the software we used to compile MS wins binaries on..
Jan Wielemaker, the SWI-Prolog author,
for the ODBC package on which we based proSQLite, and C-interface hints.
Contributors
Canisius Sander (the core of the C-interface for 0.0.1)
Nicos Angelopoulos (everything else)
---
Amsterdam
February, 2013