US 11,989,234 B1
Rule engine implementing a rule graph for record matching
Kausik Ghatak, Kolkata (IN)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Jun. 29, 2022, as Appl. No. 17/853,680.
Int. Cl. G06F 16/901 (2019.01); G06F 16/22 (2019.01); G06F 16/26 (2019.01)
CPC G06F 16/9024 (2019.01) [G06F 16/2282 (2019.01); G06F 16/26 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method, comprising:
accessing a plurality of rule sets defined using a table, each rule set of the plurality of rule sets comprising at least one criterion in at least one column of a plurality of columns in the table;
generating a rule graph that represents the plurality of rule sets and comprises a plurality of nodes connected by a plurality of edges, wherein generating the rule graph comprises:
generating a ranking of the plurality of columns;
generating a first set of nodes of a first branch level extending from a root node based at least in part on a first column of the plurality of columns and the ranking, wherein the first set of nodes is associated with a highest ranking in the ranking; and
generating a second set of nodes of a second branch level extending from respective nodes of the first set of nodes based at least in a second column of the plurality of columns and the ranking;
determining an overlap between a first rule set of the plurality of rule sets and a second rule set of the plurality of rule sets by at least traversing the rule graph and identifying that a single ending node is associated with the first rule set and the second rule set;
generating a set of sample transaction data;
traversing the rule graph using the set of sample transaction data to identify two paths corresponding to the first rule set and the second rule set, wherein each path of the two paths terminates at the single ending node;
providing the set of sample transaction data for presentation at a user device;
receiving record data associated with a record;
determining at least one rule set of the first rule set and the second rule set that matches the record by at least traversing the rule graph using the determining, from traversing the rule graph, the single ending node that corresponds to the at least one rule set that matches the record;
generating rule information based on the at least one rule set; and
associating the rule information with the record.