An Efficient Storage Manager

  • Dimitris G. Kapopoulos
  • Michael Hatzopoulos
  • Panagiotis Stamatopoulos
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1884)


When dealing with large quantities of clauses, the use of persistent knowledge is inevitable, and indexing methods are essential to answer queries efficiently. We introduce PerKMan, a storage manager that uses G-trees and aims at efficient manipulation of large amount of persistent knowledge. PerKMan may be connected to Prolog systems that offer an external C language interface. As well as the fact that the storage manager allows different arguments of a predicate to share a common index dimension in a novel manner, it indexes rules and facts in the same manner. PerKMan handles compound terms efficiently and its data structures adapt their shape to large dynamic volumes of clauses, no matter what their distribution. The storage manager achieves fast clause retrieval and reasonable use of disk space.


Logic Programming Storage Manager Disk Access Path Identity Language Interface 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Cruickshank, G.: Persistent Storage Interface for Prolog-TERMdb, System Documentation. Draft Revision: 1.5, Cray Systems (1994)Google Scholar
  2. 2.
    Derr, M.A., Morishita, S., Phipps, G.: The Glue-Nail Deductive Database System: Design, Implementation, and Evaluation. The VLDB Journal, vol. 3, no. 2 (1994) 123–160CrossRefGoogle Scholar
  3. 3.
    ECL’PS” 3.7: Knowledge Base User Manual. ECRC GmbH (1998)Google Scholar
  4. 4.
    Van Emde Boas, G., Van Emde Boas, P.: Storing and evaluating Horn-clause rules in a relational database. IBM J Res.Develop. vol. 30, no. 1 (1986) 80–92CrossRefGoogle Scholar
  5. 5.
    Freeston, M.: The BANG file: a new kind of grid file. Proc. of ACM, SIGMOD Conf. (1987) 260–269Google Scholar
  6. 6.
    Ioannidis, Y.E., Tsangaris, M.: The Design, Implementation, and Performance Evaluation of BERMUDA. IEEE Trans, on Knowledge and Data Eng., vol. 6, no. 1 (1994) 38–56CrossRefGoogle Scholar
  7. 7.
    Kapopoulos D.G., Hatzopoulos, M.: The Gr_Tree: The Use of Active Regions in G-Trees. In: J. Eder, I. Rozman and T. Welzer (eds.): Advances in Databases and Information Systems. Lecture Notes in Computer Science, vol. 1691. Springer-Verlag, (1999) 141–155CrossRefGoogle Scholar
  8. 8.
    Kumar, A.: G-Tree: A New Data Structure for Organizing Multidimensional Data. IEEE, Trans, on Knowledge and Data Eng., vol. 6, no. 2 (1994) 341–347CrossRefGoogle Scholar
  9. 9.
    Nilsson, H., Ellemtel, A.: The External Storage Facility in SICStus Prolog. R:91:13, Swedish Institute of Computer Science (1995)Google Scholar
  10. 10.
    Ramakrishnan, R., Srivastava, D., Sudarshan, S., Seshadri, P.: The CORAL Deductive System. The VLDB Journal, vol. 3, no. 2 (1994) 161–210CrossRefGoogle Scholar
  11. 11.
    Ramamohanarao, K., Shepherd, J., Balbin, I., Port, G., Naish, L., Thorn, J., Zobel, J., Dart, P.: The NU-Prolog deductive database system. In: Gray, P.M.D., Lucas, R.J. (eds.): Prolog and Databases. West Sussex, Ellis Horwood limited (1988) 212–250Google Scholar
  12. 12.
    Sagonas, K., Swift, T., Warren, D.S.: XSB as an Efficient Deductive Database Engine. Proc. of ACM SIGMOD Conf. (1994) 442–453Google Scholar
  13. 13.
    Vaghani, J., Ramamohanarao, K., Kemp, D.B., Somogyi, Z., Stuckey, P.J., Leask T.S., Harland, J.: The Aditi Deductive Database System. The VLDB Journal, vol. 3, no. 2 (1994) 245–288CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Dimitris G. Kapopoulos
    • 1
  • Michael Hatzopoulos
    • 1
  • Panagiotis Stamatopoulos
    • 1
  1. 1.Department of InformaticsUniversity of AthensPanepistimiopolisGreece

Personalised recommendations