Executable First-Order Queries in the Logic of Information Flows
Heba Aamer, Bart Bogaerts, Dimitri Surinx, Eugenia Ternovska, Jan Van den Bussche
TL;DR
This work introduces FLIF, a forward-only graph-navigation fragment of the Logic of Information Flows, and proves its expressive equivalence with executable FO for queries under limited access patterns. FLIF provides a simple, compositional language with atomic edges representing information accesses and three operators for path construction, enabling declarative modeling of data sources with restricted inputs. The paper develops io-disjoint FLIF and shows how any FLIF can be rewritten into this fragment, yielding transparent translations to executable FO and enabling straightforward relational-algebra plans for query processing. The results offer a direct, efficiency-conscious bridge between navigational graph querying and first-order logic within access-constrained settings, with implications for information integration and web-like data sources.
Abstract
The logic of information flows (LIF) has recently been proposed as a general framework in the field of knowledge representation. In this framework, tasks of procedural nature can still be modeled in a declarative, logic-based fashion. In this paper, we focus on the task of query processing under limited access patterns, a well-studied problem in the database literature. We show that LIF is well-suited for modeling this task. Toward this goal, we introduce a variant of LIF called "forward" LIF (FLIF), in a first-order setting. FLIF takes a novel graph-navigational approach; it is an XPath-like language that nevertheless turns out to be equivalent to the "executable" fragment of first-order logic defined by Nash and Ludäscher. One can also classify the variables in FLIF expressions as inputs and outputs. Expressions where inputs and outputs are disjoint, referred to as io-disjoint FLIF expressions, allow a particularly transparent translation into algebraic query plans that respect the access limitations. Finally, we show that general FLIF expressions can always be put into io-disjoint form.
