Using a graph database to match entities by evaluating boolean expressions
First Claim
1. A method of matching a first entity to a second entity by evaluating Boolean expressions, the method comprising:
- identifying one or more fact vertices for the second entity;
generating a first set of criteria vertices by traversing a graph database constrained to the fact vertices identified for the second entity,wherein the graph database relates fact vertices to criteria vertices by edges corresponding to a Boolean expression for matching the first entity to the second entity; and
for a first criteria vertex in the first set of criteria vertices;
determining whether the first criteria vertex matches a first fact vertex among the fact vertices identified for the second entity,in response to determining the first criteria vertex matches the first fact vertex, assembling a second set of criteria vertices by adding the first criteria vertex to the second set of criteria vertices, or in response to determining the first criteria vertex does not match a fact vertex among the fact vertices identified for the second entity, retaining the second set of criteria vertices,determining whether the second set of criteria vertices completes the Boolean expression, andin response to determining the second set of criteria vertices completes the Boolean expression, completing the assembly of the second set of criteria vertices, or in response to determining the second set of criteria vertices does not complete the Boolean expression, processing a second criteria vertex in the first set of criteria vertices,wherein completion of an include criteria of the Boolean expression is determined separately from completion of an exclude criteria of the Boolean expression.
12 Assignments
0 Petitions
Accused Products
Abstract
A method of matching a first entity to a second entity by evaluating Boolean expressions includes identifying a set of criteria vertices for a second entity vertex by traversing a graph database in a manner constrained to fact vertices identified for the second entity. The graph database relates fact vertices to the criteria vertices by edges corresponding to Boolean expressions for satisfying criteria for matching first entities to second entities. The method additionally includes selecting one of the first entities based on the criteria vertices of the set. The method further includes matching the first entity to the second entity based on the selection.
63 Citations
45 Claims
-
1. A method of matching a first entity to a second entity by evaluating Boolean expressions, the method comprising:
-
identifying one or more fact vertices for the second entity; generating a first set of criteria vertices by traversing a graph database constrained to the fact vertices identified for the second entity, wherein the graph database relates fact vertices to criteria vertices by edges corresponding to a Boolean expression for matching the first entity to the second entity; and for a first criteria vertex in the first set of criteria vertices; determining whether the first criteria vertex matches a first fact vertex among the fact vertices identified for the second entity, in response to determining the first criteria vertex matches the first fact vertex, assembling a second set of criteria vertices by adding the first criteria vertex to the second set of criteria vertices, or in response to determining the first criteria vertex does not match a fact vertex among the fact vertices identified for the second entity, retaining the second set of criteria vertices, determining whether the second set of criteria vertices completes the Boolean expression, and in response to determining the second set of criteria vertices completes the Boolean expression, completing the assembly of the second set of criteria vertices, or in response to determining the second set of criteria vertices does not complete the Boolean expression, processing a second criteria vertex in the first set of criteria vertices, wherein completion of an include criteria of the Boolean expression is determined separately from completion of an exclude criteria of the Boolean expression. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus for matching a first entity to a second entity by evaluating Boolean expressions, the apparatus comprising:
-
means for identifying one or more fact vertices for the second entity; means for generating a first set of criteria vertices by traversing a graph database constrained to the fact vertices identified for the second entity, wherein the graph database relates fact vertices to criteria vertices by edges corresponding to a Boolean expression for matching the first entity to the second entity; and for a first criteria vertex in the first set of criteria vertices; means for determining whether the first criteria vertex matches a first fact vertex among the fact vertices identified for the second entity, in response to determining the first criteria vertex matches the first fact vertex, means for assembling a second set of criteria vertices by adding the first criteria vertex to the second set of criteria vertices, or in response to determining the first criteria vertex does not match a fact vertex among the fact vertices identified for the second entity, means for retaining the second set of criteria vertices, means for determining whether the second set of criteria vertices completes the Boolean expression, and in response to determining the second set of criteria vertices completes the Boolean expression, means for completing the assembly of the second set of criteria vertices, or in response to determining the second set of criteria vertices does not complete the Boolean expression, means for processing a second criteria vertex in the first set of criteria vertices, wherein completion of an include criteria of the Boolean expression is determined separately from completion of an exclude criteria of the Boolean expression. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer program product, comprising:
- a non-transitory computer-readable medium, comprising;
code for identifying one or more fact vertices for the second entity; code for generating a first set of criteria vertices by traversing a graph database constrained to the fact vertices identified for the second entity, wherein the graph database relates fact vertices to criteria vertices by edges corresponding to a Boolean expression for matching the first entity to the second entity; and for a first criteria vertex in the first set of criteria vertices; code for determining whether the first criteria vertex matches a first fact vertex among the fact vertices identified for the second entity, in response to determining the first criteria vertex matches the first fact vertex, code for assembling a second set of criteria vertices by adding the first criteria vertex to the second set of criteria vertices, or in response to determining the first criteria vertex does not match a fact vertex among the fact vertices identified for the second entity, code for retaining the second set of criteria vertices, code for determining whether the second set of criteria vertices completes the Boolean expression, and in response to determining the second set of criteria vertices completes the Boolean expression, code for completing the assembly of the second set of criteria vertices, or in response to determining the second set of criteria vertices does not complete the Boolean expression, code for processing a second criteria vertex in the first set of criteria vertices, wherein completion of an include criteria of the Boolean expression is determined separately from completion of an exclude criteria of the Boolean expression. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
- a non-transitory computer-readable medium, comprising;
-
34. An apparatus for matching a first entity to a second entity by evaluating Boolean expressions, the apparatus comprising:
-
a memory that stores a graph database relating fact vertices to criteria vertices by edges corresponding to a Boolean expression for matching the first entity to the second entity; and a processor configured to; identify one or more fact vertices for the second entity; generate a first set of criteria vertices by traversing a graph database constrained to the fact vertices identified for the second entity; and for a first criteria vertex in the first set of criteria vertices; determine whether the first criteria vertex matches a first fact vertex among the fact vertices identified for the second entity, in response to determining the first criteria vertex matches the first fact vertex, assemble a second set of criteria vertices by adding the first criteria vertex to the second set of criteria vertices, or in response to determining the first criteria vertex does not match a fact vertex among the fact vertices identified for the second entity, retain the second set of criteria vertices, determine whether the second set of criteria vertices completes the Boolean expression, and in response to determining the second set of criteria vertices completes the Boolean expression, complete the assembly of the second set of criteria vertices, or in response to determining the second set of criteria vertices does not complete the Boolean expression, process a second criteria vertex in the first set of criteria vertices, wherein completion of an include criteria of the Boolean expression is determined separately from completion of an exclude criteria of the Boolean expression. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
-
Specification