Inductive logic programming systems usually send large numbers of queries to a database. The lattice structure from which
these queries are typically selected causes many of these queries to be highly similar. As a consequence, independent execution
of all queries may involve a lot of redundant computation. We propose a mechanism for executing a hierarchically structured
set of queries (a “query pack”) through which a lot of redundancy in the computation is removed.We have incorporated our query
pack execution mechanism in the ILP systems TILDE and WARMR by implementing a new Prolog engine ILPROLOG which provides support for pack execution at a lower level. Experimental results demonstrate significant efficiency gains.
Our query pack execution mechanism is very general in nature and could be incorporated in most other ILP systems, with similar
efficiency improvements to be expected.