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, wherein the conditional statement is composed from one or more logical fields, and wherein the logical fields are defined in a data abstraction model modeling an underlying physical database; 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 into one or more groups, wherein each group includes data records having a common set of input values; and for each group of data records, processing the input values associated with a respective group against the abstract rule and setting, as an output of processing the input values, the result returned for the rule for each of the plurality of records in that respective group.