Set-oriented constructs: From rete rule bases to database systems
Abstract
Set-oriented constructs for forward chaining rule-based systems are presented in this paper. These constructs allow arbitrary amounts of data to be matched and changed within the execution of a single rule. Second order tests on the data can be included in the match. The ability of a single rule to directly access all of the data to be manipulated eliminates the need for unwieldy control mechanisms and marking schemes. Adding this expressivity to rule-based languages enhances their value and capabilities as database programming languages since operations on entire relations can now be clearly specified, thus providing the database management system an opportunity to use its ability to update large amounts of data. Additionally, these set-oriented constructs can provide a basis for more efficient implementations of rule-based systems, for both the traditional memory-based systems and the emerging disk-based ones. The work described has been implemented using an extended version of the Rete network algorithm.