Pattern-based and knowledge-directed query compilation for recursive data bases (expert, systems, reductive, logic)

Expert database systems (EDS's) comprise an interesting class of computer systems which represent a confluence of research in artificial intelligence, logic, and database management systems. They involve knowledge-directed processing of large volumes of shared information and constitute a new generation of knowledge management systems. Our research is on the deductive augmentation of relational database systems, especially on the efficient realization of recursion. We study the compilation and processing of recursive rules in relational database systems, investigating two related approaches: pattern-based recursive rule compilation and knowledge-directed recursive rule compilation and planning. Pattern-based recursive rule compilation is a method of compiling and processing recursive rules based on their recursion patterns. We classify recursive rules according to their processing complexity and develop three kinds of algorithms for compiling and processing different classes of recursive rules: transitive closure algorithms, SLSR wavefront algorithms, and stack-directed compilation algorithms. These algorithms, though distinct, are closely related. The more complex algorithms are generalizations of the simpler ones, and all apply the heuristics of performing selection first and utilizing previous processing results (wavefronts) in reducing query processing costs. The algorithms are formally described and verified, and important aspects of their behavior are analyzed and experimentally tested. To further improve search efficiency, a knowledge-directed recursive rule compilation and planning technique is introduced. We analyze the issues raised for the compilation of recursive rules and propose to deal with them by incorporating functional definitions, domain-specific knowledge, query constants, and a planning technique. A prototype knowledge-directed relational planner, RELPLAN, which maintains a high level user view and query interface, has been designed and implemented, and experiments with the prototype are reported and illustrated.