System and method for fast evaluation of standing queries in conjunctive normal form
First Claim
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.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and systems are provided for evaluating standing queries against updated contact entries configured as a stream of facts. The method includes resolving the standing queries into an array of rules, each rule having a first and a second condition; sorting t one of the facts into a first property and a second property; comparing the first property of the fact to the first condition of each rule in the array of rules to produce a first subset of matching rules; comparing the second property of the fact to the second condition of each rule in the first subset of rules to produce a second subset of matching rules; and reporting at least one of the second subset of rules to an author of the matching rule. The method further includes populating a first hash with indicia of the first subset, and populating a second hash with the second subset.
-
Citations
15 Claims
-
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; andidentifying a subset of the set of rules which match the fact. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. 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;
identifying a subset of the set of rules which match the fact; and
reporting the subset of rules which match the fact. - View Dependent Claims (13, 14)
-
-
15. 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; andidentifying a subset of the set of rules which match the fact, wherein evaluating is performed by a server in a multitenant computing environment.
-
Specification