Skip to main content

A Transformation Technique for Datalog Programs Based on Non-deterministic Constructs

  • Conference paper
  • First Online:
Logic Based Program Synthesis and Transformation (LOPSTR 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2372))

Abstract

Recently, a novel transformation technique for Datalog programs, called the branching-time transformation, was introduced by the authors. In this paper we propose a significant extension of the branching-time transformation which we believe opens up a promising new direction of research in the area of value-propagating Datalog optimizations. One of the novel characteristics of the proposed approach is that the target language is DatalognS extended with choice predicates, a form of non-deterministic construct that was originally introduced in the area of intensional logic programming.

This work has been partially supported by the University of Athens under the project “Design, Implementation and Applications of Intensional Programming Languages” (grant no 70/4/5827).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. F. Afrati and S. Cosmadakis. Expressiveness of restricted recursive queries. In Proc. 21st ACM Symp. on Theory of Computing, pages 113–126, 1989.

    Google Scholar 

  2. F. Afrati, M. Gergatsoulis, and M. Katzouraki. On transformations into linear database logic programs. In D. Bjørner, M. Broy, and I. Pottosin, editors, Perspectives of Systems Informatics (PSI’96), Proceedings, Lecture Notes in Computer Science (LNCS) 1181, pages 433–444. Springer-Verlag, 1996.

    Google Scholar 

  3. C. Beeri and R. Ramakrishnan. On the power of magic. The Journal of Logic Programming, 10(1,2,3 & 4):255–299, 1991.

    Article  MathSciNet  MATH  Google Scholar 

  4. Jan Chomicki. Depth-bounded bottom-up evaluation of logic programs. The Journal of Logic Programming, 25(1):1–31, 1995.

    Google Scholar 

  5. J. Chomicki and T. Imielnski. Finite representation of infinite query answers. ACM Transaction of Database Systems, 18(2):181–223, June 1993.

    Google Scholar 

  6. F. Giannotti, S. Greco, D. Saccà, and C. Zaniolo. Programming with non-determinism in deductive databases. Annals of Mathematics and Artificial Intelligence, 19(1–2):97–125, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  7. M. Gergatsoulis and M. Katzouraki. Unfold/fold transformations for definite clause programs. In M. Hermenegildo and J. Penjam, editors, Programming Language Implementation and Logic Programming (PLILP’94), Proceedings, Lecture Notes in Computer Science (LNCS) 844, pages 340–354. Springer-Verlag, 1994.

    Google Scholar 

  8. F. Giannotti, D. Pedreschi, and C. Zaniolo. Semantics and expressive power of non-deterministic constructs in deductive databases. Journal of Computer and Systems Sciences, 62(1):15–42, 2001.

    Article  MathSciNet  Google Scholar 

  9. S. Greco, D. Saccà, and C. Zaniolo. Grammars and automata to optimize chain logic queries. International Journal on Foundations of Computer Science, 10(3):349–372, 1999.

    Article  Google Scholar 

  10. R. W. Haddad and J. F. Naughton. Counting methods for cyclic relations. In Proc. 7th ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, pages 333–340. ACM Press, 1988.

    Google Scholar 

  11. J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.

    Google Scholar 

  12. M. A. Orgun and W. W. Wadge. Towards a unified theory of intensional logic programming. The Journal of Logic Programming, 13(4):413–440, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  13. M. A. Orgun and W. W. Wadge. Extending temporal logic programming with choice predicates non-determinism. Journal of Logic and Computation, 4(6):877–903, 1994.

    Article  MATH  MathSciNet  Google Scholar 

  14. A. Pettorossi and M. Proietti. Transformation of logic programs. In D. M. Gabbay, C. J. Hogger, and J. A. Robinson, editors, Handbook of Logic in Artificial Intelligence and Logic Programming, volume 5, pages 697–787. Oxford University Press, 1997.

    Google Scholar 

  15. P. Rondogiannis and M. Gergatsoulis. The intensional implementation technique for chain datalog programs. In Proc. of the 11th International Symposium on Languages for Intensional Programming (ISLIP’98), May 7–9, Palo Alto, California, USA, pages 55–64, 1998.

    Google Scholar 

  16. Panos Rondogiannis and Manolis Gergatsoulis. The branching-time transformation technique for chain datalog programs. Journal of Intelligent Information Systems, 17(1):71–94, 2001.

    Article  MATH  Google Scholar 

  17. P. Rondogiannis, M. Gergatsoulis, and T. Panayiotopoulos. Branching-time logic programming: The language Cactus and its applications. Computer Languages, 24(3):155–178, October 1998.

    Google Scholar 

  18. P. Rondogiannis and W. W. Wadge. First-order functional languages and intensional logic. Journal of Functional Programming, 7(1):73–101, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  19. P. Rondogiannis and W. W. Wadge. Higher-Order Functional Languages and Intensional Logic. Journal of Functional Programming, 9(5):527–564, 1999.

    Article  MATH  MathSciNet  Google Scholar 

  20. S. Sippu and E. Soisalon-Soininen. An analysis of magic sets and related optimization strategies for logic queries. Journal of the ACM, 43(6):1046–1088, 1996.

    Article  MATH  MathSciNet  Google Scholar 

  21. D. Saccà and C. Zaniolo. The generalized counting method for recursive logic queries. Theoretical Computer Science, 4(4):187–220, 1988.

    Google Scholar 

  22. H. Tamaki and T. Sato. Unfold/fold transformations of logic programs. In Sten-Åke Tarnlund, editor, Proc. of the Second International Conference on Logic Programming, pages 127–138, 1984.

    Google Scholar 

  23. Jeffrey D. Ullman. Principles of Database and Knowledge-Base Systems, volume I & II. Computer Science Press, 1989.

    Google Scholar 

  24. W. W. Wadge. Higher-Order Lucid. In Proceedings of the Fourth International Symposium on Lucid and Intensional Programming, 1991.

    Google Scholar 

  25. A. Yaghi. The intensional implementation technique for functional languages. PhD thesis, Dept. of Computer Science, University of Warwick, Coventry, UK, 1984.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Potikas, P., Rondogiannis, P., Gergatsoulis, M. (2002). A Transformation Technique for Datalog Programs Based on Non-deterministic Constructs. In: Pettorossi, A. (eds) Logic Based Program Synthesis and Transformation. LOPSTR 2001. Lecture Notes in Computer Science, vol 2372. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45607-4_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-45607-4_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43915-8

  • Online ISBN: 978-3-540-45607-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics