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