Given a single IDB rule

$$R(x) \ \mathop{:\!\!-} \ A(x), \lnot B(x)$$

Where $A$ and $B$ are EDB predicates, how would I go about calculating changes to $R$ as tuples are added to $B$? As I understand, when tuples are added to $B$, tuples may need to be removed from $R$.

This paper says

We present the DRed algorithm to incrementally maintain recursive views that use negation


A semi-naive computation is sufficient to compute new inserted tuples for a recursively defined view when insertions are made to base relations.

The DRed algorithm seems to take an input of the deleted EDB tuples, so adding a new tuple (and starting with a null set for deleted tuples) would have no effect. Have I missed something here?

Perhaps I misunderstand the definition of stratified negation, is $R$ an invalid rule?



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.