IP Library › Granted Patent US 11,500,876
Granted Patent B2
US 11,500,876 · App. 17/114,547 · Granted Nov 15, 2022

Method for duplicate determination in a graph

Inventors: Thuany Karoline Stuart (Nice, FR); Basem Elasioty (Regensburg, DE); Claudio Andrea Fanconi (Celerina, SZ); Mike W. Grasselt (Leinfelden-Echterdingen, DE); Hemanth Kumar Babu (Boeblingen, DE); Yannick Saillet (Stuttgart, DE); Robert Kern (Karlsruhe, DE); Martin Oberhofer (Sindelfingen, DE); Lars Bremer (Boeblingen, DE); Jonathan Roesner (Leimersheim, DE); Jason Allen Woods (Round Rock, TX)
Assignee: International Business Machines Corporation
G06F16/24556G06F16/2272G06F16/9024
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,500,876
App. No.
17/114,547
Granted
Nov 15, 2022
Kind
B2
Abstract

Embodiments of the present invention determines duplicates in a graph. The graph comprises nodes representing entities and edges representing relationships between the entities. The method comprises: identifying at least two nodes in the graph. A neighborhood subgraph may be determined for each of the two nodes. The neighborhood subgraph includes the respective node. The method further comprises determining whether the two nodes are duplicates with respect to each other, based on a result of a comparison between the two subgraphs.

Claims (84)

1. A computer-implemented method comprising:

determining duplicates in a graph wherein the graph comprises nodes representing entities and edges that represent relationships between the entities by:

identifying at least two nodes in the graph, wherein identifying at least two nodes in the graph comprises:

calculating an index structure,

grouping the index structure according to edge descriptors of individual index entries, resulting in a set of one or more groups,

selecting a first node of the at least two nodes, and

finding further nodes that are in a same group, of the set of groups, as the first node;

determining a respective neighborhood subgraph for each of the two nodes, the neighborhood subgraph including a respective node;

comparing the respective neighborhood subgraphs; and

determining whether the two nodes are duplicates with respect to each other, based on a result of the comparison.

2. The computer-implemented method of claim 1 , wherein determining of the neighborhood subgraph of the node comprises:

selecting nodes of the graph using a selection criterion, the selection criterion being based on at least one of: a number of nodes, an entity represented by a node, a distance between the node and another node in the subgraph; the subgraph comprising the selected nodes.

3. The computer-implemented method of claim 2 , wherein the selection criterion requires at least one of:

the number of nodes of the subgraph being smaller than a maximum number;

the edge of the subgraph connected to at least one node that represents a same entity as the entity of the node; and

the distance between the node and another node in the subgraph is smaller than a threshold number of edges.

4. The computer-implemented method of claim 1 , wherein comparing the respective subgraphs comprises:

calculating a similarity metric;

comparing the calculated similarity metric with a predefined threshold; and

in response to determining that the similarity metric exceeds the predefined threshold determining whether the two nodes are duplicates.

5. The computer-implemented method of claim 1 , further comprising:

in response to determining that the two nodes are duplicates, performing a twin detection method, wherein the twin detection method comprises:

acquiring additional properties of the entities represented by the two nodes; and

cancelling a decision that the two nodes are duplicates with respect to each other based on the additional properties.

6. The computer-implemented method of claim 1 , wherein the index structure comprises:

for each node of the graph, at least one index entry, the index entry including an identifier of the node and an edge descriptor describing an edge connected to that node, wherein the edge descriptor comprises direction information related to a direction of the edge and/or a neighbor node identifier.

7. The computer-implemented method of claim 6 , wherein the individual index entries are represented as text strings.

8. The computer-implemented method of claim 6 , wherein the grouping further comprises deleting groups based on their size.

9. The computer-implemented method of claim 1 , wherein determining of the neighborhood subgraphs comprises:

removing duplicate nodes of each subgraph in the neighborhood subgraphs.

10. The computer-implemented method of claim 1 , further comprising:

using a received indication of the two identified nodes for the identifying.

11. A computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:

program instructions to determine duplicates in a graph wherein the graph comprises nodes representing entities and edges that represent relationships between the entities by:

program instructions to identify at least two nodes in the graph, wherein the program instructions to identify at least two nodes in the graph comprises:

program instructions to calculate an index structure,

program instructions to group the index structure according to edge descriptors of individual index entries, resulting in a set of one or more groups,

program instructions to select a first node of the at least two nodes, and

program instructions to find further nodes that are in a same group, of the set of groups, as the first node;

program instructions to determine a neighborhood subgraph for each of the two nodes, the neighborhood subgraph including a respective node;

program instructions to compare the respective neighborhood subgraphs; and

program instructions to determine whether the two nodes are duplicates with respect to each other, based on a result of the comparison.

12. The computer program product of claim 11 , wherein the program instructions to determine of the neighborhood subgraph of the node comprise:

program instructions to select nodes of the graph using a selection criterion, the selection criterion being based on at least one of: a number of nodes, an entity represented by a node, a distance between the node and another node in the subgraph; the subgraph comprising the selected nodes.

13. The computer program product of claim 12 , wherein the selection criterion requires at least one of:

the number of nodes of the subgraph being smaller than a maximum number;

the edge of the subgraph connected to at least one node that represents a same entity as the entity of the node; and

the distance between the node and another node in the subgraph is smaller than a threshold number of edges.

14. The computer program product of claim 11 , wherein the program instructions to compare the respective subgraphs comprise:

program instructions to calculate a similarity metric;

program instructions to compare the calculated similarity metric with a predefined threshold; and

program instructions to, in response to determining that the similarity metric exceeds the predefined threshold, determine whether the two nodes are duplicates.

15. The computer program product of claim 11 , wherein the program instructions stored on the one or more computer readable storage media further comprise:

program instructions to, in response to determining that the two nodes are duplicates, perform a twin detection method, wherein the twin detection method comprises:

program instructions to acquire additional properties of the entities represented by the two nodes; and

program instructions to cancel a decision that the two nodes are duplicates with respect to each other based on the additional properties.

16. A computer system comprising:

one or more computer processors;

one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising:

program instructions to determine duplicates in a graph wherein the graph comprises nodes representing entities and edges that represent relationships between the entities by:

program instructions to identify at least two nodes in the graph, wherein the program instructions to identify at least two nodes in the graph comprises:

program instructions to calculate an index structure,

program instructions to group the index structure according to edge descriptors of individual index entries, resulting in a set of one or more groups,

program instructions to select a first node of the at least two nodes, and

program instructions to find further nodes that are in a same group, of the set of groups, as the first node;

program instructions to determine a neighborhood subgraph for each of the two nodes, the neighborhood subgraph including a respective node;

program instructions to compare the respective neighborhood subgraphs; and

program instructions to determine whether the two nodes are duplicates with respect to each other, based on a result of the comparison.

17. The computer system of claim 16 , wherein the program instructions to determine of the neighborhood subgraph of the node comprise:

program instructions to select nodes of the graph using a selection criterion, the selection criterion being based on at least one of: a number of nodes, an entity represented by a node, a distance between the node and another node in the subgraph; the subgraph comprising the selected nodes.

18. The computer system of claim 17 , wherein the selection criterion requires at least one of:

the number of nodes of the subgraph being smaller than a maximum number;

the edge of the subgraph connected to at least one node that represents a same entity as the entity of the node; and

the distance between the node and another node in the subgraph is smaller than a threshold number of edges.

19. The computer system of claim 16 , wherein the program instructions to compare the respective subgraphs comprise:

program instructions to calculate a similarity metric;

program instructions to compare the calculated similarity metric with a predefined threshold; and

program instructions to, in response to determining that the similarity metric exceeds the predefined threshold, determine whether the two nodes are duplicates.

20. The computer system of claim 16 , wherein the program instructions stored on the one or more computer readable storage media further comprise:

program instructions to, in response to determining that the two nodes are duplicates, perform a twin detection method, wherein the twin detection method comprises:

program instructions to acquire additional properties of the entities represented by the two nodes; and

program instructions to cancel a decision that the two nodes are duplicates with respect to each other based on the additional properties.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2020
From: STUART, THUANY KAROLINE; ELASIOTY, BASEM; FANCONI, CLAUDIO ANDREA; GRASSELT, MIKE W.; BABU, HEMANTH KUMAR; SAILLET, YANNICK; KERN, ROBERT; OBERHOFER, MARTIN; BREMER, LARS; ROESNER, JONATHAN; WOODS, JASON ALLEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054571/0078 →
Priority Claims (1)
EP 20171981 · Apr 29, 2020 · regional
Continuity (1)
Related Publication 20210342352A1 · Nov 4, 2021