Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence Incremental Update of Datalog Materialisation: The Backward/Forward Algorithm Boris Motik, Yavor Nenov, Robert Piro and Ian Horrocks Department of Computer Science, Oxford University Oxford, United Kingdom fi
[email protected] Abstract much harder. Fact insertion can be efficiently handled us- ing the standard semina¨ıve algorithm (Abiteboul, Hull, and Datalog-based systems often materialise all consequences of a datalog program and the data, allowing users’ queries Vianu 1995): datalog (without negation-as-failure) is mono- tonic, so one can just ‘continue’ materialisation from E+; to be evaluated directly in the materialisation. This process, + however, can be computationally intensive, so most systems hence, in this paper we usually assume that E = ;. In con- update the materialisation incrementally when input data trast, fact deletion is much more involved since one must changes. We argue that existing solutions, such as the well- identify and retract all facts in I not derivable from E n E−. known Delete/Rederive (DRed) algorithm, can be inefficient Gupta and Mumick (1995) presents an extensive overview in cases when facts have many alternate derivations. As a pos- of the existing approaches to incremental update, which can sible remedy, we propose a novel Backward/Forward (B/F) be classified into two groups. algorithm that tries to reduce the amount of work by a combi- The approaches in the first group keep track of auxil- nation of backward and forward chaining. In our evaluation, iary information during materialisation to efficiently delete the B/F algorithm was several orders of magnitude more ef- ficient than the DRed algorithm on some inputs, and it was facts.