The Temporal Vadalog System: Temporal Datalog-based Reasoning

Luigi Bellomarini,Livia Blasi,Markus Nissl,Emanuel Sallinger
2024-12-17
Abstract:In the wake of the recent resurgence of the Datalog language of databases, together with its extensions for ontological reasoning settings, this work aims to bridge the gap between the theoretical studies of DatalogMTL (Datalog extended with metric temporal logic) and the development of production-ready reasoning systems. In particular, we lay out the functional and architectural desiderata of a modern reasoner and propose our system, Temporal Vadalog. Leveraging the vast amount of experience from the database community, we go beyond the typical chase-based implementations of reasoners, and propose a set of novel techniques and a system that adopts a modern data pipeline architecture. We discuss crucial architectural choices, such as how to guarantee termination when infinitely many time intervals are possibly generated, how to merge intervals, and how to sustain a limited memory footprint. We discuss advanced features of the system, such as the support for time series, and present an extensive experimental evaluation. This paper is a substantially extended version of "The Temporal Vadalog System" as presented at RuleML+RR '22. Under consideration in Theory and Practice of Logic Programming (TPLP).
Databases
What problem does this paper attempt to address?
The problem that this paper attempts to solve is to bridge the gap between theoretical research and practical applications, especially in the research on DatalogMTL (an extension of Datalog with metric temporal logic). Specifically, the authors aim to develop a production - level reasoning system to support time - based Datalog reasoning. The following are the specific problems that this paper attempts to solve: 1. **Gap between theory and practice**: Most of the existing research on DatalogMTL remains at the theoretical level, lacking a reasoning system that can be actually deployed and used. This paper fills this gap by proposing the Temporal Vadalog system. 2. **Termination problem in handling infinite time intervals**: When dealing with reasoning involving infinite time intervals, how to ensure the termination of the system is a key challenge. The authors propose several strategies to ensure that the system can still terminate effectively in the face of infinite time intervals. 3. **Time and memory efficiency**: In order to enable the system to operate efficiently in practical applications, it is necessary to design a modern data pipeline architecture to ensure limited memory usage and efficient performance. To this end, the authors introduce a series of new techniques and optimization methods. 4. **Support for complex time - series operations**: Complex time - series data often need to be processed in modern applications. Therefore, the system needs to support time - series, including operations such as moving windows and resampling. 5. **Integration of recursion, aggregation and stratified negation**: In order to enhance the expressive power of the system, the Temporal Vadalog system also supports recursive rules, aggregation functions and stratified negation. 6. **Implementation of time - aware operators**: DatalogMTL introduces several time - aware operators, such as `⊞` (future) and `⊟` (past). The correct implementation of these operators is crucial for the functionality of the system. The authors discuss in detail the implementation methods of these operators and introduce how to optimize them to improve efficiency. 7. **Merging strategies for time intervals**: In order to ensure the correctness and efficiency of time reasoning, it is necessary to design effective strategies to merge adjacent or overlapping time intervals. The authors propose several merging strategies and explain how they work. 8. **Support for seamless switching between time and non - time reasoning**: Since many existential quantification extensions are undecidable, the authors regard time and existential quantification reasoning as orthogonal fragments and allow switching between these two modes in the same program. In conclusion, by proposing the Temporal Vadalog system, this paper solves a series of challenges from theory to practice, aiming to provide a powerful and efficient temporal Datalog reasoning tool for practical applications.