proSQLite: Prolog File Based Databases via an SQLite Interface

  • Sander Canisius
  • Nicos Angelopoulos
  • Lodewyk Wessels
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7752)


We present a succinct yet powerful interface library to the SQLite database system. The single file, server-less approach of SQLite along with the natural integration of relational data within Prolog, render the library a useful addition to the existing database libraries in modern open-source engines. We detail the architecture and predicates of the library and provide example deployment scenarios. A simple bioinformatics example is presented throughout to illustrate proSQLitet’s main functions. Finally, this paper discusses the strengths of the system and highlights possible extensions.


databases SQL Prolog libraries SQLite 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allen, G., Owens, M.: The Definitive Guide to SQLite (2010)Google Scholar
  2. 2.
    Angelopoulos, N., Costa, V.S., Camacho, R., Wielemaker, J., Azevedo, J., Wessels, L.: Integrative statistics for logical reasoning (2012), Conditional accept PADL 2013Google Scholar
  3. 3.
    Angelopoulos, N., Taylor, P.: An extensible web interface for databases and its application to storing biochemical data. In: WLPE 2010, Edinburgh, Scotland (July 2010)Google Scholar
  4. 4.
    Cabeza, D., Hermenegildo, M.: Distributed WWW programming using Ciao Prolog and the PiLLoW library. Theory and Practice of Logic Programming 1(3), 251–282 (2001)CrossRefGoogle Scholar
  5. 5.
    Costa, J., Rocha, R.: Global Storing Mechanisms for Tabled Evaluation. In: Garcia de la Banda, M., Pontelli, E. (eds.) ICLP 2008. LNCS, vol. 5366, pp. 708–712. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  6. 6.
    Costa, V.S., Rocha, R., Damas, L.: The YAP Prolog system. Journal of Theory and Practice of Logic Programming 12, 5–34 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Draxler, C.: Accessing Relational and Higher Databases Through Database Set Predicates. PhD thesis, Zurich University (1991)Google Scholar
  8. 8.
    Gray, P.M.D., Lucas, R.J. (eds.): Prolog and Databases, Implementations and New Directions. Ellis Horwood Ltd., Chichester (1988)Google Scholar
  9. 9.
    Gray, P.M.D., Kemp, G.J.L., Rawlings, C.J., Brown, N.P., Sander, C., Thornton, J.M., Orengo, C.M., Wodak, S.J., Richelle, J.: Macromolecular structure information and databases. Trends in Biochemical Sciences 21, 251–256 (1996)CrossRefGoogle Scholar
  10. 10.
    Kemp, G.J.L., Iriarte, J.J., Gray, P.M.D.: Efficient Access to FDM Objects Stored in a Relational Database. In: Bowers, D.S. (ed.) BNCOD 1994. LNCS, vol. 826, pp. 170–186. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  11. 11.
    Keshava Prasad, T.S., Goel, R., Kandasamy, K., Keerthikumar, S., Kumar, S.: Human protein reference database 2009 update. Nucleic Acids Research 37(suppl. 1), D767–D772 (2009)Google Scholar
  12. 12.
    Lucas, R., Keylink Computers Ltd: ProDBI: ODBC Interface for Quintus Prolog. Keylink Computers Ltd., Kenilworth (1997)Google Scholar
  13. 13.
    Mungall, C.: Experiences using logic programming in bioinformatics. In: Hill, P.M., Warren, D.S. (eds.) ICLP 2009. LNCS, vol. 5649, pp. 1–21. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Szklarczyk, D., Franceschini, A., Kuhn, M., Simonovic, M., Roth, A., Minguez, P., Doerks, T.: The STRING database in 2011: functional interaction networks of proteins, globally integrated and scored. Nucleic Acids Research 39(suppl. 1), D561–D568 (2011)Google Scholar
  15. 15.
    The UniProt Consortium. Reorganizing the protein space at the universal protein resource (uniprot). Nucleic Acids Res. 40, D71–D75 (2012)Google Scholar
  16. 16.
    Wielemaker, J., Costa, V.S.: On the portability of prolog applications. In: Rocha, R., Launchbury, J. (eds.) PADL 2011. LNCS, vol. 6539, pp. 69–83. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  17. 17.
    Wielemaker, J., Huang, Z., van der Meij, L.: SWI-Prolog and the Web. Theory and Practice of Logic Programming 8(3), 363–392 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Wielemaker, J., Schrijvers, T., Triska, M., Lager, T.: SWI-Prolog. Theory and Practice of Logic Programming 12(1-2), 67–96 (2012)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Sander Canisius
    • 1
  • Nicos Angelopoulos
    • 1
    • 2
  • Lodewyk Wessels
    • 1
    • 2
  1. 1.Bioinformatics and StatisticsNetherlands Cancer InstituteAmsterdamNetherlands
  2. 2.The Netherlands Consortium for Systems Biology (NCSB)Netherlands

Personalised recommendations