4 research outputs found
Hypothetical answers to continuous queries over data streams
Continuous queries over data streams may suffer from blocking operations
and/or unbound wait, which may delay answers until some relevant input arrives
through the data stream. These delays may turn answers, when they arrive,
obsolete to users who sometimes have to make decisions with no help whatsoever.
Therefore, it can be useful to provide hypothetical answers - "given the
current information, it is possible that X will become true at time t" -
instead of no information at all.
In this paper we present a semantics for queries and corresponding answers
that covers such hypothetical answers, together with an online algorithm for
updating the set of facts that are consistent with the currently available
information
Optimised maintenance of datalog materialisations
To efficiently answer queries, datalog systems often materialise all consequences of a datalog program, so the materialisation must be updated whenever the input facts change. Several solutions to the materialisation update problem have been proposed. The Delete/Rederive (DRed) and the Backward/ Forward (B/F) algorithms solve this problem for general datalog, but both contain steps that evaluate rules ‘backwards’ by matching their heads to a fact and evaluating the partially instantiated rule bodies as queries. We show that this can be a considerable source of overhead even on very small updates. In contrast, the Counting algorithm does not evaluate the rules ‘backwards’, but it can handle only nonrecursive rules. We present two hybrid approaches that combine DRed and B/F with Counting so as to reduce or even eliminate ‘backward’ rule evaluation while still handling arbitrary datalog programs. We show empirically that our hybrid algorithms are usually significantly faster than existing approaches, sometimes by orders of magnitude
Optimised maintenance of datalog materialisations
To efficiently answer queries, datalog systems often materialise all consequences of a datalog program, so the materialisation must be updated whenever the input facts change. Several solutions to the materialisation update problem have been proposed. The Delete/Rederive (DRed) and the Backward/Forward (B/F) algorithms solve this problem for general datalog, but both contain steps that evaluate rules ‘backwards’ by matching their heads to a fact and evaluating the partially instantiated rule bodies as queries. We show that this can be a considerable source of overhead even on very small updates. In contrast, the Counting algorithm does not evaluate the rules ‘backwards’, but it can handle only nonrecursive rules. We present two hybrid approaches that combine DRed and B/F with Counting so as to reduce or even eliminate ‘backward’ rule evaluation while still handling arbitrary datalog programs. We show empirically that our hybrid algorithms are usually significantly faster than existing approaches, sometimes by orders of magnitude
Optimised maintenance of datalog materialisations
To efficiently answer queries, datalog systems often materialise
all consequences of a datalog program, so the materialisation
must be updated whenever the input facts change.
Several solutions to the materialisation update problem have
been proposed. The Delete/Rederive (DRed) and the Backward/Forward
(B/F) algorithms solve this problem for general
datalog, but both contain steps that evaluate rules ‘backwards’
by matching their heads to a fact and evaluating the
partially instantiated rule bodies as queries. We show that
this can be a considerable source of overhead even on very
small updates. In contrast, the Counting algorithm does not
evaluate the rules ‘backwards’, but it can handle only nonrecursive
rules. We present two hybrid approaches that combine
DRed and B/F with Counting so as to reduce or even
eliminate ‘backward’ rule evaluation while still handling arbitrary
datalog programs. We show empirically that our hybrid
algorithms are usually significantly faster than existing
approaches, sometimes by orders of magnitude