1. A computer-implemented method of processing an abstract rule, comprising: receiving an abstract rule having (i) a conditional statement and (ii) a consequential statement defining a particular result returned by the abstract rule for a given set of input data supplied to the rule; receiving a set of query results comprising a plurality of data records each including one or more input values, wherein the set of query results were produced by executing a query; sorting the plurality of data records from the set of query results according to the one or more input values; splitting the sorted plurality of data records from the set of query results into two or more data blocks; for each record of a given data block from the two or more data blocks, determining whether the input values of a first record of the given data block match the input values of a previously processed record; if so, setting, as an output of processing the first record, the result returned for processing the previously processed record against the abstract rule, and otherwise, processing the input values of the first record against the abstract rule to produce a result.