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; sorting the plurality of data records according to the one or more input values; splitting the sorted plurality of data records into two or more data blocks; for each record of a data block, determining whether the input values of a first record match the input values of a previously processed record; if so, setting, as an output of processing the first record, the result returned for the processing rule for the previously processed record, and otherwise, processing the input values of the first record against the abstract rule to produce a result.