Tabling Logic Programs in a Database

Pedro Costa, Ricardo Rocha and Michel Ferreira

October 2007


Resolution strategies based on tabling are considered to be particularly effective in Logic Programming. Unfortunately, when faced with applications that store large and/or many answers, memory exhaustion is a potential problem. A common approach to recover space is table deletion. In this work, we propose a different approach, storing tables externally in a relational database. Subsequent calls to stored tables import answers from the database, rather than performing a complete re-computation. To validate this approach, we have extended the YapTab tabling system, providing engine support for exporting and importing tables to and from the MySQL RDBMS. Two different relational schemes for data storage and two data-set retrieval strategies are compared.


  author =    {P. Costa and R. Rocha and M. Ferreira},
  title =     {{Tabling Logic Programs in a Database}},
  booktitle = {Local Proceedings of the 21st Workshop on (Constraint) Logic Programming (WLP 2007)},
  pages =     {125--135},
  editor =    {D. Seipel and M. Hanus and A. Wolf and J. Baumeister},
  month =     {October},
  year =      {2007},
  address =   {W├╝rzburg, Germany},

Download Paper

PDF file

Download Slides

PDF file