Relational Storage Mechanisms for Tabled Logic Programs

Pedro Costa, Ricardo Rocha and Michel Ferreira

July 2007


Resolution strategies based on tabling are considerate to be particularly effective in Logic Programming. Unfortunately, when faced with applications that store large and/or many answers, memory exhaustion is a considerable problem. A common approach used to recover space is to delete some tables. In this work, we propose a different approach, storing these 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 relational database management system. Two different relational schemas for data storage and two data-set retrieval strategies are compared.


  author =    {P. Costa and R. Rocha and M. Ferreira},
  title =     {{Relational Storage Mechanisms for Tabled Logic Programs}},
  booktitle = {Proceedings of the 1st International Conference on Compiler, Related Technologies 
               and Applications (CoRTA 2007)},
  pages =     {3--14},
  editor =    {V. Santos and P. Henriques and S. Sousa},
  month =     {July},
  year =      {2007},
  address =   {Covilhã, Portugal},

Download Paper

PDF file