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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
F. Afrati and S. Cosmadakis. Expressiveness of restricted recursive queries. In Proc. 21st ACM Symp. on Theory of Computing, pages 113–126, 1989.
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.
C. Beeri and R. Ramakrishnan. On the power of magic. The Journal of Logic Programming, 10(1,2,3 & 4):255–299, 1991.
Jan Chomicki. Depth-bounded bottom-up evaluation of logic programs. The Journal of Logic Programming, 25(1):1–31, 1995.
J. Chomicki and T. Imielnski. Finite representation of infinite query answers. ACM Transaction of Database Systems, 18(2):181–223, June 1993.
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.
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.
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.
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.
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.
J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987.
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.
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.
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.
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.
Panos Rondogiannis and Manolis Gergatsoulis. The branching-time transformation technique for chain datalog programs. Journal of Intelligent Information Systems, 17(1):71–94, 2001.
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.
P. Rondogiannis and W. W. Wadge. First-order functional languages and intensional logic. Journal of Functional Programming, 7(1):73–101, 1997.
P. Rondogiannis and W. W. Wadge. Higher-Order Functional Languages and Intensional Logic. Journal of Functional Programming, 9(5):527–564, 1999.
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.
D. Saccà and C. Zaniolo. The generalized counting method for recursive logic queries. Theoretical Computer Science, 4(4):187–220, 1988.
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.
Jeffrey D. Ullman. Principles of Database and Knowledge-Base Systems, volume I & II. Computer Science Press, 1989.
W. W. Wadge. Higher-Order Lucid. In Proceedings of the Fourth International Symposium on Lucid and Intensional Programming, 1991.
A. Yaghi. The intensional implementation technique for functional languages. PhD thesis, Dept. of Computer Science, University of Warwick, Coventry, UK, 1984.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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