Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Optimizing Nested Recursive Queries

Published: 26 March 2024 Publication History

Abstract

Datalog is a declarative programming language that has gained popularity in various domains due to its simplicity, expressiveness, and efficiency. But "pure" Datalog is limited to monotone queries, and cannot be used in most practical applications. For that reason, newer systems are relaxing the language by allowing non-monotone queries to be freely combined with recursion. But by departing from the elegant fixpoint semantics of pure datalog, these systems often result in inefficient query execution, for example they perform redundant computations, or use redundant storage. In this paper, we propose Temporel, a system that allows recursion to be freely combined with non-monotone operators. Temporel optimizes the program by compiling it into a novel intermediate representation that we call TempoDL. Our experimental results show that our system outperforms a state-of-the-art Datalog engine as well as a vectorized and a compiled in-memory database system for a wide range of applications from machine learning to graph processing.

References

[1]
[n.d.]. Recursion - RAI Documentation. https://docs.relational.ai/rel/concepts/recursion. Accessed: 2023-03--30.
[2]
Martín Abadi and Zohar Manna. 1987. Temporal Logic Programming. In Proceedings of the 1987 Symposium on Logic Programming, San Francisco, California, USA, August 31 - September 4, 1987. IEEE-CS, 4--16.
[3]
Serge Abiteboul, Richard Hull, and Victor Vianu. 1995. Foundations of Databases. Addison-Wesley. http://webdam.inria.fr/Alice/
[4]
Molham Aref, Balder ten Cate, Todd J. Green, Benny Kimelfeld, Dan Olteanu, Emir Pasalic, Todd L. Veldhuizen, and Geoffrey Washburn. 2015. Design and Implementation of the LogicBlox System. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data, Melbourne, Victoria, Australia, May 31 - June 4, 2015, Timos K. Sellis, Susan B. Davidson, and Zachary G. Ives (Eds.). ACM, 1371--1382. https://doi.org/10.1145/2723372.2742796
[5]
Pavel Avgustinov, Oege de Moor, Michael Peyton Jones, and Max Schäfer. 2016. QL: Object-oriented Queries on Relational Data. In 30th European Conference on Object-Oriented Programming, ECOOP 2016, July 18--22, 2016, Rome, Italy (LIPIcs), Shriram Krishnamurthi and Benjamin S. Lerner (Eds.), Vol. 56. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2:1--2:25. https://doi.org/10.4230/LIPIcs.ECOOP.2016.2
[6]
David A Bader and Kamesh Madduri. 2006. Gtgraph: A synthetic graph generator suite. (2006).
[7]
Isaac Balbin and Kotagiri Ramamohanarao. 1987. A Generalization of the Differential Approach to Recursive Query Evaluation. J. Log. Program. 4, 3 (1987), 259--262. https://doi.org/10.1016/0743--1066(87)90004--5
[8]
François Bancilhon, David Maier, Yehoshua Sagiv, and Jeffrey D. Ullman. 1986. Magic Sets and Other Strange Ways to Implement Logic Programs. In Proceedings of the Fifth ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, March 24--26, 1986, Cambridge, Massachusetts, USA, Avi Silberschatz (Ed.). ACM, 1--15. https://doi.org/10.1145/6012.15399
[9]
Cédric Bastoul. 2004. Code Generation in the Polyhedral Model Is Easier Than You Think. In 13th International Conference on Parallel Architectures and Compilation Techniques (PACT 2004), 29 September - 3 October 2004, Antibes Juan-les-Pins, France. IEEE Computer Society, 7--16. https://doi.org/10.1109/PACT.2004.10018
[10]
Luigi Bellomarini, Markus Nissl, and Emanuel Sallinger. 2021. Monotonic Aggregation for Temporal Datalog. In Proceedings of the 15th International Rule Challenge, 7th Industry Track, and 5th Doctoral Consortium @ RuleMLRR 2021 co-located with 17th Reasoning Web Summer School (RW 2021) and 13th DecisionCAMP 2021 as part of Declarative AI 2021, Leuven, Belgium (virtual due to Covid-19 pandemic), 8 - 15 September, 2021 (CEUR Workshop Proceedings), Ahmet Soylu, Alireza Tamaddoni-Nezhad, Nikolay Nikolov, Ioan Toma, Anna Fensel, and Joost Vennekens (Eds.), Vol. 2956. CEUR-WS.org. http://ceur-ws.org/Vol-2956/paper30.pdf
[11]
Mark Blacher, Joachim Giesen, Sören Laue, Julien Klaus, and Viktor Leis. 2022. Machine Learning, Linear Algebra, and More: Is SQL All You Need?. In 12th Conference on Innovative Data Systems Research, CIDR 2022, Chaminade, CA, USA, January 9--12, 2022. www.cidrdb.org. https://www.cidrdb.org/cidr2022/papers/p17-blacher.pdf
[12]
Sebastian Brandt, Elem Güzel Kalayci, Roman Kontchakov, Vladislav Ryzhikov, Guohui Xiao, and Michael Zakharyaschev. 2017. Ontology-Based Data Access with a Horn Fragment of Metric Temporal Logic. In Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence, February 4--9, 2017, San Francisco, California, USA, Satinder Singh and Shaul Markovitch (Eds.). AAAI Press, 1070--1076. http://aaai.org/ocs/index.php/AAAI/AAAI17/paper/view/14881
[13]
Martin Bravenboer and Yannis Smaragdakis. 2009. Strictly declarative specification of sophisticated points-to analyses. In Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, October 25--29, 2009, Orlando, Florida, USA, Shail Arora and Gary T. Leavens (Eds.). ACM, 243--262. https://doi.org/10.1145/1640089.1640108
[14]
Peter Cholak and Howard A. Blair. 1994. The Complexity of Local Stratification. Fundam. Informaticae 21, 4 (1994), 333--344. https://doi.org/10.3233/FI-1994--2144
[15]
Jan Chomicki. 1990. Polynomial Time Query Processing in Temporal Deductive Databases. In Proceedings of the Ninth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, April 2--4, 1990, Nashville, Tennessee, USA, Daniel J. Rosenkrantz and Yehoshua Sagiv (Eds.). ACM Press, 379--391. https://doi.org/10.1145/298514.298589
[16]
Neil Conway, William R. Marczak, Peter Alvaro, Joseph M. Hellerstein, and David Maier. 2012. Logic and lattices for distributed programming. In ACM Symposium on Cloud Computing, SOCC '12, San Jose, CA, USA, October 14--17, 2012, Michael J. Carey and Steven Hand (Eds.). ACM, 1. https://doi.org/10.1145/2391229.2391230
[17]
Steven Dawson, C. R. Ramakrishnan, and David Scott Warren. 1996. Practical Program Analysis Using General Purpose Logic Programming Systems - A Case Study. In Proceedings of the ACM SIGPLAN'96 Conference on Programming Language Design and Implementation (PLDI), Philadephia, Pennsylvania, USA, May 21--24, 1996, Charles N. Fischer (Ed.). ACM, 117--126. https://doi.org/10.1145/231379.231399
[18]
MLIR Developers. 2023. MLIR affine dialect. https://mlir.llvm.org/docs/Dialects/Affine/. Accessed: 2023--10-03.
[19]
Christian Duta and Torsten Grust. 2020. Functional-Style SQL UDFs With a Capital 'F'. In Proceedings of the 2020 International Conference on Management of Data, SIGMOD Conference 2020, online conference [Portland, OR, USA], June 14--19, 2020, David Maier, Rachel Pottinger, AnHai Doan, Wang-Chiew Tan, Abdussalam Alawini, and Hung Q. Ngo (Eds.). ACM, 1273--1287. https://doi.org/10.1145/3318464.3389707
[20]
Jason Eisner and Nathaniel Wesley Filardo. 2010. Dyna: Extending Datalog for Modern AI. In Datalog Reloaded - First International Workshop, Datalog 2010, Oxford, UK, March 16--19, 2010. Revised Selected Papers (Lecture Notes in Computer Science), Oege de Moor, Georg Gottlob, Tim Furche, and Andrew Jon Sellers (Eds.), Vol. 6702. Springer, 181--220. https://doi.org/10.1007/978--3--642--24206--9_11
[21]
Zhiwei Fan, Jianqiao Zhu, Zuyu Zhang, Aws Albarghouthi, Paraschos Koutris, and Jignesh M. Patel. 2019. Scaling-Up In-Memory Datalog Processing: Observations and Techniques. Proc. VLDB Endow. 12, 6 (2019), 695--708. https://doi.org/10.14778/3311880.3311886
[22]
Paul Feautrier. 1991. Dataflow analysis of array and scalar references. Int. J. Parallel Program. 20, 1 (1991), 23--53. https://doi.org/10.1007/BF01407931
[23]
Sumit Ganguly, Sergio Greco, and Carlo Zaniolo. 1991. Minimum and Maximum Predicates in Logic Programming. In Proceedings of the Tenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, May 29--31, 1991, Denver, Colorado, USA, Daniel J. Rosenkrantz (Ed.). ACM Press, 154--163. https://doi.org/10.1145/113413.113427
[24]
Gábor E. Gévay, Tilmann Rabl, Sebastian Breß, Lorand Madai-Tahy, Jorge-Arnulfo Quiané-Ruiz, and Volker Markl. 2022. Imperative or Functional Control Flow Handling: Why not the Best of Both Worlds? SIGMOD Rec. 51, 1 (2022), 60--67. https://doi.org/10.1145/3542700.3542715
[25]
Gábor E. Gévay, Juan Soto, and Volker Markl. 2022. Handling Iterations in Distributed Dataflow Systems. ACM Comput. Surv. 54, 9 (2022), 199:1--199:38. https://doi.org/10.1145/3477602
[26]
Georg Gottlob, Erich Grädel, and Helmut Veith. 2002. Datalog LITE: a deductive query language with linear time model checking. ACM Trans. Comput. Log. 3, 1 (2002), 42--79. https://doi.org/10.1145/504077.504079
[27]
Jiaqi Gu, Yugo H. Watanabe, William A. Mazza, Alexander Shkapsky, Mohan Yang, Ling Ding, and Carlo Zaniolo. 2019. RaSQL: Greater Power and Performance for Big Data Analytics with Recursive-aggregate-SQL on Spark. In Proceedings of the 2019 International Conference on Management of Data, SIGMOD Conference 2019, Amsterdam, The Netherlands, June 30 - July 5, 2019, Peter A. Boncz, Stefan Manegold, Anastasia Ailamaki, Amol Deshpande, and Tim Kraska (Eds.). ACM, 467--484. https://doi.org/10.1145/3299869.3324959
[28]
Elnar Hajiyev, Mathieu Verbaere, and Oege de Moor. 2006. codeQuest: Scalable Source Code Queries with Datalog. In ECOOP 2006 - Object-Oriented Programming, 20th European Conference, Nantes, France, July 3--7, 2006, Proceedings (Lecture Notes in Computer Science), Dave Thomas (Ed.), Vol. 4067. Springer, 2--27. https://doi.org/10.1007/11785477_2
[29]
Joseph M. Hellerstein. 2010. The declarative imperative: experiences and conjectures in distributed logic. SIGMOD Rec. 39, 1 (2010), 5--19. https://doi.org/10.1145/1860702.1860704
[30]
Denis Hirn and Torsten Grust. 2020. PL/SQL Without the PL. In Proceedings of the 2020 International Conference on Management of Data, SIGMOD Conference 2020, online conference [Portland, OR, USA], June 14--19, 2020, David Maier, Rachel Pottinger, AnHai Doan, Wang-Chiew Tan, Abdussalam Alawini, and Hung Q. Ngo (Eds.). ACM, 2677--2680. https://doi.org/10.1145/3318464.3384678
[31]
Denis Hirn and Torsten Grust. 2021. One WITH RECURSIVE is Worth Many GOTOs. In SIGMOD '21: International Conference on Management of Data, Virtual Event, China, June 20--25, 2021, Guoliang Li, Zhanhuai Li, Stratos Idreos, and Divesh Srivastava (Eds.). ACM, 723--735. https://doi.org/10.1145/3448016.3457272
[32]
Denis Hirn and Torsten Grust. 2023. A Fix for the Fixation on Fixpoints. In Proceedings of the 13th Conference on Innovative Data Systems Research.
[33]
Shan Shan Huang, Todd Jeffrey Green, and Boon Thau Loo. 2011. Datalog and emerging applications: an interactive tutorial. In Proceedings of the ACM SIGMOD International Conference on Management of Data, SIGMOD 2011, Athens, Greece, June 12--16, 2011, Timos K. Sellis, Renée J. Miller, Anastasios Kementsietsidis, and Yannis Velegrakis (Eds.). ACM, 1213--1216. https://doi.org/10.1145/1989323.1989456
[34]
Herbert Jordan, Bernhard Scholz, and Pavle Subotic. 2016. Soufflé: On Synthesis of Program Analyzers. In Computer Aided Verification - 28th International Conference, CAV 2016, Toronto, ON, Canada, July 17--23, 2016, Proceedings, Part II (Lecture Notes in Computer Science), Swarat Chaudhuri and Azadeh Farzan (Eds.), Vol. 9780. Springer, 422--430. https://doi.org/10.1007/978--3--319--41540--6_23
[35]
David B. Kemp and Peter J. Stuckey. 1991. Semantics of Logic Programs with Aggregates. In Logic Programming, Proceedings of the 1991 International Symposium, San Diego, California, USA, Oct. 28 - Nov 1, 1991, Vijay A. Saraswat and Kazunori Ueda (Eds.). MIT Press, 387--401.
[36]
Mahmoud Abo Khamis, Hung Q. Ngo, Reinhard Pichler, Dan Suciu, and Yisu Remy Wang. 2022. Convergence of Datalog over (Pre-) Semirings. In PODS '22: International Conference on Management of Data, Philadelphia, PA, USA, June 12 - 17, 2022, Leonid Libkin and Pablo Barceló (Eds.). ACM, 105--117. https://doi.org/10.1145/3517804.3524140
[37]
Mahmoud Abo Khamis, Hung Q. Ngo, Reinhard Pichler, Dan Suciu, and Yisu Remy Wang. 2022. Datalog in Wonderland. SIGMOD Rec. 51, 2 (2022), 6--17. https://doi.org/10.1145/3552490.3552492
[38]
Gerhard Köstler, Werner Kießling, Helmut Thöne, and Ulrich Güntzer. 1995. Fixpoint iteration with subsumption in deductive databases. Journal of Intelligent Information Systems 4, 2 (1995), 123--148.
[39]
Chris Lattner, Mehdi Amini, Uday Bondhugula, Albert Cohen, Andy Davis, Jacques A. Pienaar, River Riddle, Tatiana Shpeisman, Nicolas Vasilache, and Oleksandr Zinenko. 2021. MLIR: Scaling Compiler Infrastructure for Domain Specific Computation. In IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2021, Seoul, South Korea, February 27 - March 3, 2021, Jae W. Lee, Mary Lou Soffa, and Ayal Zaks (Eds.). IEEE, 2--14. https://doi.org/10.1109/CGO51591.2021.9370308
[40]
Yanhong A. Liu and Scott D. Stoller. 2022. Recursive rules with aggregation: a simple unified semantics. J. Log. Comput. 32, 8 (2022), 1659--1693. https://doi.org/10.1093/logcom/exac072
[41]
Boon Thau Loo, Tyson Condie, Minos N. Garofalakis, David E. Gay, Joseph M. Hellerstein, Petros Maniatis, Raghu Ramakrishnan, Timothy Roscoe, and Ion Stoica. 2009. Declarative networking. Commun. ACM 52, 11 (2009), 87--95. https://doi.org/10.1145/1592761.1592785
[42]
Magnus Madsen and Ondrej Lhoták. 2018. Safe and sound program analysis with Flix. In Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2018, Amsterdam, The Netherlands, July 16--21, 2018, Frank Tip and Eric Bodden (Eds.). ACM, 38--48. https://doi.org/10.1145/3213846.3213847
[43]
Inderpal Singh Mumick, Sheldon J. Finkelstein, Hamid Pirahesh, and Raghu Ramakrishnan. 1990. Magic is Relevant. In Proceedings of the 1990 ACM SIGMOD International Conference on Management of Data, Atlantic City, NJ, USA, May 23--25, 1990, Hector Garcia-Molina and H. V. Jagadish (Eds.). ACM Press, 247--258. https://doi.org/10.1145/93597.98734
[44]
Inderpal Singh Mumick and Hamid Pirahesh. 1994. Implementation of Magic-sets in a Relational Database System. In Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data, Minneapolis, Minnesota, USA, May 24--27, 1994, Richard T. Snodgrass and Marianne Winslett (Eds.). ACM Press, 103--114. https://doi.org/10.1145/191839.191860
[45]
Inderpal Singh Mumick, Hamid Pirahesh, and Raghu Ramakrishnan. 1990. The Magic of Duplicates and Aggregates. In 16th International Conference on Very Large Data Bases, August 13--16, 1990, Brisbane, Queensland, Australia, Proceedings, Dennis McLeod, Ron Sacks-Davis, and Hans-Jörg Schek (Eds.). Morgan Kaufmann, 264--277. http://www.vldb.org/conf/1990/P264.PDF
[46]
Derek G Murray, Frank McSherry, Rebecca Isaacs, Michael Isard, Paul Barham, and Martín Abadi. 2013. Naiad: a timely dataflow system. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles. 439--455.
[47]
Thomas Neumann. 2011. Efficiently Compiling Efficient Query Plans for Modern Hardware. Proc. VLDB Endow. 4, 9 (2011), 539--550. https://doi.org/10.14778/2002938.2002940
[48]
Christos Nomikos, Panos Rondogiannis, and Manolis Gergatsoulis. 2005. Temporal stratification tests for linear and branching-time deductive databases. Theor. Comput. Sci. 342, 2--3 (2005), 382--415. https://doi.org/10.1016/j.tcs.2005.05.014
[49]
Luigi Palopoli. 1992. Testing Logic Programs for Local Stratification. Theor. Comput. Sci. 103, 2 (1992), 205--234. https://doi.org/10.1016/0304--3975(92)90013--6
[50]
Linnea Passing, Manuel Then, Nina C. Hubig, Harald Lang, Michael Schreier, Stephan Günnemann, Alfons Kemper, and Thomas Neumann. 2017. SQL- and Operator-centric Data Analytics in Relational Main-Memory Databases. In Proceedings of the 20th International Conference on Extending Database Technology, EDBT 2017, Venice, Italy, March 21--24, 2017, Volker Markl, Salvatore Orlando, Bernhard Mitschang, Periklis Andritsos, Kai-Uwe Sattler, and Sebastian Breß (Eds.). OpenProceedings.org, 84--95. https://doi.org/10.5441/002/edbt.2017.09
[51]
Jonathan Ragan-Kelley, Andrew Adams, Dillon Sharlet, Connelly Barnes, Sylvain Paris, Marc Levoy, Saman P. Amarasinghe, and Frédo Durand. 2018. Halide: decoupling algorithms from schedules for high-performance image processing. Commun. ACM 61, 1 (2018), 106--115. https://doi.org/10.1145/3150211
[52]
Thomas W. Reps. 1993. Demand Interprocedural Program Analysis Using Logic Databases. In Applications of Logic Databases (The Kluwer International Series in Engineering and Computer Science 296), Raghu Ramakrishnan (Ed.). Kluwer, 163--196.
[53]
Alessandro Ronca, Mark Kaminski, Bernardo Cuenca Grau, Boris Motik, and Ian Horrocks. 2018. Stream Reasoning in Temporal Datalog. In Proceedings of the Thirty-Second AAAI Conference on Artificial Intelligence, (AAAI-18), the 30th innovative Applications of Artificial Intelligence (IAAI-18), and the 8th AAAI Symposium on Educational Advances in Artificial Intelligence (EAAI-18), New Orleans, Louisiana, USA, February 2--7, 2018, Sheila A. McIlraith and Kilian Q. Weinberger (Eds.). AAAI Press, 1941--1948. https://www.aaai.org/ocs/index.php/AAAI/AAAI18/paper/view/16182
[54]
Kenneth A. Ross. 1994. A Syntactic Stratification Condition Using Constraints. In Logic Programming, Proceedings of the 1994 International Symposium, Ithaca, New York, USA, November 13--17, 1994, Maurice Bruynooghe (Ed.). MIT Press, 76--90.
[55]
Kenneth A. Ross and Yehoshua Sagiv. 1992. Monotonic Aggregation in Deductive Databases. In Proceedings of the Eleventh ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, June 2--4, 1992, San Diego, California, USA, Moshe Y. Vardi and Paris C. Kanellakis (Eds.). ACM Press, 114--126. https://doi.org/10.1145/137097.137852
[56]
Maximilian Schleich, Amir Shaikhha, and Dan Suciu. 2023. Optimizing Tensor Programs on Flexible Storage. Proc. ACM Manag. Data 1, 1 (2023), 37:1--37:27. https://doi.org/10.1145/3588717
[57]
Maximilian Emanuel Schüle, Alfons Kemper, and Thomas Neumann. 2022. Recursive SQL for Data Mining. In SSDBM 2022: 34th International Conference on Scientific and Statistical Database Management, Copenhagen, Denmark, July 6 - 8, 2022, Elaheh Pourabbas, Yongluan Zhou, Yuchen Li, and Bin Yang (Eds.). ACM, 21:1--21:4. https://doi.org/10.1145/3538712.3538746
[58]
Jiwon Seo, Stephen Guo, and Monica S. Lam. 2015. SociaLite: An Efficient Graph Query Language Based on Datalog. IEEE Trans. Knowl. Data Eng. 27, 7 (2015), 1824--1837. https://doi.org/10.1109/TKDE.2015.2405562
[59]
Hesam Shahrokhi and Amir Shaikhha. 2023. Building a Compiled Query Engine in Python. In Proceedings of the 32nd ACM SIGPLAN International Conference on Compiler Construction, CC 2023, Montréal, QC, Canada, February 25--26, 2023, Clark Verbrugge, Ondrej Lhoták, and Xipeng Shen (Eds.). ACM, 180--190. https://doi.org/10.1145/3578360.3580264
[60]
Amir Shaikhha, Mohammad Dashti, and Christoph Koch. 2018. Push versus pull-based loop fusion in query engines. J. Funct. Program. 28 (2018), e10. https://doi.org/10.1017/S0956796818000102
[61]
Amir Shaikhha, Mathieu Huot, Jaclyn Smith, and Dan Olteanu. 2022. Functional collection programming with semi-ring dictionaries. Proc. ACM Program. Lang. 6, OOPSLA1 (2022), 1--33. https://doi.org/10.1145/3527333
[62]
Amir Shaikhha, Yannis Klonatos, and Christoph Koch. 2018. Building Efficient Query Engines in a High-Level Language. ACM Trans. Database Syst. 43, 1 (2018), 4:1--4:45. https://doi.org/10.1145/3183653
[63]
Amir Shaikhha, Yannis Klonatos, Lionel Parreaux, Lewis Brown, Mohammad Dashti, and Christoph Koch. 2016. How to Architect a Query Compiler. In Proceedings of the 2016 International Conference on Management of Data, SIGMOD Conference 2016, San Francisco, CA, USA, June 26 - July 01, 2016, Fatma Özcan, Georgia Koutrika, and Sam Madden (Eds.). ACM, 1907--1922. https://doi.org/10.1145/2882903.2915244
[64]
Alexander Shkapsky, Mohan Yang, Matteo Interlandi, Hsuan Chiu, Tyson Condie, and Carlo Zaniolo. 2016. Big Data Analytics with Datalog Queries on Spark. In Proceedings of the 2016 International Conference on Management of Data, SIGMOD Conference 2016, San Francisco, CA, USA, June 26 - July 01, 2016, Fatma Özcan, Georgia Koutrika, and Sam Madden (Eds.). ACM, 1135--1149. https://doi.org/10.1145/2882903.2915229
[65]
Alexander Shkapsky, Mohan Yang, and Carlo Zaniolo. 2015. Optimizing recursive queries with monotonic aggregates in DeALS. In 31st IEEE International Conference on Data Engineering, ICDE 2015, Seoul, South Korea, April 13--17, 2015, Johannes Gehrke, Wolfgang Lehner, Kyuseok Shim, Sang Kyun Cha, and Guy M. Lohman (Eds.). IEEE Computer Society, 867--878. https://doi.org/10.1109/ICDE.2015.7113340
[66]
Michelle Mills Strout, Mary W. Hall, and Catherine Olschanowsky. 2018. The Sparse Polyhedral Framework: Composing Compiler-Generated Inspector-Executor Code. Proc. IEEE 106, 11 (2018), 1921--1934. https://doi.org/10.1109/JPROC.2018.2857721
[67]
Przemyslaw Andrzej Walega, Bernardo Cuenca Grau, Mark Kaminski, and Egor V. Kostylev. 2019. DatalogMTL: Computational Complexity and Expressive Power. In Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence, IJCAI 2019, Macao, China, August 10--16, 2019, Sarit Kraus (Ed.). ijcai.org, 1886--1892. https://doi.org/10.24963/ijcai.2019/261
[68]
Jingjing Wang, Magdalena Balazinska, and Daniel Halperin. 2015. Asynchronous and Fault-Tolerant Recursive Datalog Evaluation in Shared-Nothing Engines. Proc. VLDB Endow. 8, 12 (2015), 1542--1553. https://doi.org/10.14778/2824032.2824052
[69]
Jin Wang, Jiacheng Wu, Mingda Li, Jiaqi Gu, Ariyam Das, and Carlo Zaniolo. 2021. Formal semantics and high performance in declarative machine learning using Datalog. VLDB J. 30, 5 (2021), 859--881. https://doi.org/10.1007/s00778-021-00665--6
[70]
Qiange Wang, Yanfeng Zhang, Hao Wang, Liang Geng, Rubao Lee, Xiaodong Zhang, and Ge Yu. 2020. Automating Incremental and Asynchronous Evaluation for Recursive Aggregate Data Processing. In Proceedings of the 2020 International Conference on Management of Data, SIGMOD Conference 2020, online conference [Portland, OR, USA], June 14--19, 2020, David Maier, Rachel Pottinger, AnHai Doan, Wang-Chiew Tan, Abdussalam Alawini, and Hung Q. Ngo (Eds.). ACM, 2439--2454. https://doi.org/10.1145/3318464.3389712
[71]
Yisu Remy Wang, Mahmoud Abo Khamis, Hung Q. Ngo, Reinhard Pichler, and Dan Suciu. 2022. Optimizing Recursive Queries with Program Synthesis. CoRR abs/2202.10390 (2022). arXiv:2202.10390 https://arxiv.org/abs/2202.10390
[72]
Jingling Xue. 1996. Transformations of Nested Loops with Non-Convex Iteration Spaces. Parallel Comput. 22, 3 (1996), 339--368. https://doi.org/10.1016/0167--8191(95)00069-0
[73]
Carlo Zaniolo. 2012. Logical Foundations of Continuous Query Languages for Data Streams. In Datalog in Academia and Industry - Second International Workshop, Datalog 2.0, Vienna, Austria, September 11--13, 2012. Proceedings (Lecture Notes in Computer Science), Pablo Barceló and Reinhard Pichler (Eds.), Vol. 7494. Springer, 177--189. https://doi.org/10.1007/978--3--642--32925--8_18
[74]
Carlo Zaniolo, Natraj Arni, and KayLiang Ong. 1993. Negation and Aggregates in Recursive Rules: the LDL Approach. In Deductive and Object-Oriented Databases, Third International Conference, DOOD'93, Phoenix, Arizona, USA, December 6--8, 1993, Proceedings (Lecture Notes in Computer Science), Stefano Ceri, Katsumi Tanaka, and Shalom Tsur (Eds.), Vol. 760. Springer, 204--221. https://doi.org/10.1007/3--540--57530--8_13
[75]
Carlo Zaniolo, Mohan Yang, Ariyam Das, Alexander Shkapsky, Tyson Condie, and Matteo Interlandi. 2017. Fixpoint semantics and optimization of recursive Datalog programs with aggregates. Theory Pract. Log. Program. 17, 5--6 (2017), 1048--1065. https://doi.org/10.1017/S1471068417000436

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Proceedings of the ACM on Management of Data
Proceedings of the ACM on Management of Data  Volume 2, Issue 1
SIGMOD
February 2024
1874 pages
EISSN:2836-6573
DOI:10.1145/3654807
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 March 2024
Published in PACMMOD Volume 2, Issue 1

Permissions

Request permissions for this article.

Author Tags

  1. declarative programming
  2. demand transformation
  3. iterative algorithms
  4. nested recursion

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 692
    Total Downloads
  • Downloads (Last 12 months)692
  • Downloads (Last 6 weeks)64
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media