1. A computer implemented method of evaluating standing queries in conjunctive normal form, comprising: resolving the standing queries in conjunctive normal form into a set of rules, each rule comprising a sequence of conditions; sorting, for each rule, the conditions into a logical order; identifying a fact having a plurality of properties sorted in a logical order; evaluating the sorted fact against each sorted rule, wherein the evaluating comprises comparing the fact to each rule using hash tables, and further comprises using a second property associated with the fact as a key into a hash table to return a second set of rules; and identifying a subset of the set of rules which match the fact.