IP Library Granted Patent US 12,417,622
Granted Patent B2
US 12,417,622 · App. 17/478,478 · Granted Sep 16, 2025

Systems and methods of interactive visual graph query for program workflow analysis

Inventors: Huan Song (San Jose, CA); Zeng Dai (Santa Clara, CA); Panpan Xu (Santa Clara, CA); Liu Ren (Saratoga, CA)
Assignee: Robert Bosch GmbH
G06V10/82G06F16/532G06F18/24143G06V10/86G06V20/64
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 12,417,622
App. No.
17/478,478
Granted
Sep 16, 2025
Kind
B2
Abstract

Systems and methods are disclosed for identifying target graphs that have nodes or neighborhoods of nodes (sub-graphs) that correspond with an input query graph. A visual analytics system supports human-in-the-loop, example-based subgraph pattern search utilizing a database of target graphs. Users can interactively select a pattern of nodes of interest. Graph neural networks encode topological and node attributes in a graph as fixed length latent vector representations such that subgraph matching can be performed in the latent space. Once matching target graphs are identified as corresponding to the query graph, one-to-one node correspondence between the query graph and the matching target graphs.

Claims (43)

1. A computer-implemented method for performing subgraph pattern searching with human-in-the-loop visual analytics, the computer-implemented method comprising:

storing, in memory, a graph database containing a plurality of target graphs, each target graph having a plurality of target nodes connected by edges;

receiving, via a user interface, a query graph having a plurality of query nodes;

via a graph neural network, retrieve one or more matching target graphs from the graph database that each contain the query graph as a subgraph thereof;

extracting embeddings of each of the query nodes and each of the target nodes of the one or more matching target graphs;

performing, via a second graph neural network, a comparison of the embeddings of each query node with the embeddings of each target node of the one or more matching target graphs by determining a similarity between the extracted embeddings of the query nodes and the target nodes of the one or more matching target graphs; and

generating, via the user interface, a graphical depiction of a one-to-one node correspondence between the query nodes and the target nodes of the one or more matching target graphs based on the comparison,

wherein the graphical depiction of the one-to-one node correspondence between the query nodes and the target nodes of the one or more matching target graphs includes, for each node pair in the correspondence, a graphical depiction of the extracted embeddings of the query node and the target node.

2. The computer-implemented method of claim 1 , wherein the embeddings for each of the query nodes and each of the target nodes of the one or more matching target graphs include attributes of that node, attributes of a neighboring node connected to that node, and attributes of a connection between that node and the neighboring node.

3. The computer-implemented method of claim 1 , wherein the step of performing utilizes an attention network.

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

developing a probability matrix that compares each of the query nodes with each of the target nodes of the one or more matching target graphs, wherein the probability matrix includes a probability of a match between each of the query nodes and each of the target nodes of the one or more matching target graphs.

5. The computer-implemented method of claim 1 , wherein the step of performing the comparison is performed without segmenting the query graph and the one or more matching target graphs into neighborhoods of adjacent nodes.

6. The computer-implemented method of claim 1 , wherein the query nodes and the target nodes include labels identifying objects in an image, wherein the labels include at least one of a person, a vehicle, a road, a building, a tree, or a road sign.

7. A visual analytics system configured to support human-in-the-loop subgraph pattern searching, the visual analytics system comprising:

a user interface;

a memory storing a target graph database having a plurality of target graphs, each target graph having a plurality of target nodes connected by edges; and

a processor programmed to:

via the user interface, receive a query graph having a plurality of query nodes;

via a first graph neural network, retrieve one or more matching target graphs from the target graph database, wherein each of the one or more matching target graphs contains the query graph as a subgraph thereof;

extract embeddings of each of the query nodes and each of the target nodes of the one or more matching target graphs;

via a second graph neural network, compare the query nodes with the target nodes of the one or more matching target graphs by determining a similarity between the extracted embeddings of the query nodes and the target nodes of the one or more matching target graphs; and

generate, on the user interface, a graphical depiction of a one-to-one node correspondence between the query nodes and the target nodes of the one or more matching target graphs based on the comparing,

wherein the graphical depiction of the one-to-one node correspondence between the query nodes and the target nodes of the one or more matching target graphs includes, for each node pair in the correspondence, a graphical depiction of the extracted embeddings of the query node and the target node.

8. The visual analytics system of claim 7 , wherein the processor is further programmed to:

perform a comparison of the embeddings of each query node with the embeddings of each target node of the one or more matching target graphs.

9. The visual analytics system of claim 8 , wherein the processor is further programmed to utilize an attention network to perform the comparison.

10. The visual analytics system of claim 7 , wherein the processor is further configured to develop a probability matrix comparing each of the query nodes with each of the target nodes of the one or more matching target graphs, wherein the probability matrix includes a probability of a match between each of the query nodes and each of the target nodes of the one or more matching target graphs.

11. The visual analytics system of claim 7 , wherein the processor is further programmed to compare the query nodes with the target nodes on a one-to-one comparison.

12. The visual analytics system of claim 11 , wherein the processor is further programmed to compare the query nodes with the target nodes on the one-to-one comparison without segmenting the query graph and the one or more matching target graphs into neighborhoods.

13. The visual analytics system of claim 7 , wherein the query nodes and the target nodes include labels identifying objects in an image, wherein the labels include at least one of a person, a vehicle, a road, a building, a tree, or a road sign.

14. The visual analytics system of claim 7 , wherein the processor is further configured to generate, on the user interface, a graph query panel configured to allow a user to interactively construct the query graph by selecting the query nodes.

15. The visual analytics system of claim 7 , wherein the processor is further configured to generate, on the user interface, a query results window that displays all the one or more matching target graphs, with each of the target nodes that correspond to the query nodes being highlighted or colored.

16. A system comprising:

a memory storing a target graph database having a plurality of target graphs, each target graph having a plurality of target nodes connected by edges; and

a processor communicatively connected to the memory and programmed to:

receive a query graph having a plurality of query nodes;

retrieve, utilizing a first graph neural network, one or more matching target graphs from the target graph database, wherein each of the one or more matching target graphs contains the query graph as a subgraph thereof;

extract embeddings of each of the query nodes and each of the target nodes of the one or more matching target graphs;

determine, utilizing a second graph neural network, a similarity between the extracted embeddings of the query nodes and the target nodes of the one or more matching target graphs with a one-to-one node correspondence; and

generate a graphical depiction of the one-to-one node correspondence between the query nodes and the target nodes of the one or more matching target graphs,

wherein the graphical depiction of the one-to-one node correspondence between the query nodes and the target nodes of the one or more matching target graphs includes, for each node pair in the correspondence, a graphical depiction of the extracted embeddings of the query node and the target node.

17. The system of claim 16 , wherein the processor is further programmed to utilize an attention network to compare the embeddings of each query node with the embeddings of each target node of the one or more matching target graphs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2021
From: SONG, HUAN; DAI, ZENG; XU, PANPAN; REN, LIU
To: ROBERT BOSCH GMBH
Reel/Frame 057518/0812 →
Continuity (1)
Related Publication 20230086327A1 · Mar 23, 2023
References Cited (21)
US 9959647B1 · Brost · 2018 [cited by examiner]
US 20210263962A1 · Chang · 2021 [cited by examiner]
US 20220058429A1 · Zou · 2022 [cited by examiner]
US 20220391433A1 · Maheshwari · 2022 [cited by examiner]
US 20230089148A1 · Dai · 2023 [cited by examiner]
CN 108509452A · 2018 [cited by examiner]
CN 112069336A · 2020 [cited by examiner]
WO WO2021042084A1 · 2021 [cited by examiner]
Bai, Y.—“SimGNN: A Neural Network Approach to Fast Graph Similarity Computation”—WSDM—Feb. 2019, pp. 384-392 (Year: 2019). [cited by examiner]
Kong, X.—“Semantic Graph Based Place Recognition for 3D Point Clouds”—arXiv—Aug. 26, 2020—pp. 1-8 (Year: 2020). [cited by examiner]
Cortes, X.—“Active Graph Matching Based on Pairwise Probabilities between Nodes”—SPR 2012—pp. 98-106 (Year: 2012). [cited by examiner]
J. Shotton, J. Winn, C. Rother, and A. Criminisi. Textonboost: Joint appearance, shape and context modeling for multi-class object recognition and segmentation. In European conference on computer vision, pp. 1-15. Sprin… [cited by applicant]
Z. Lou, J. You, C. Wen, A. Canedo, J. Leskovec, et al. Neural subgraph matching. arXiv preprint arXiv:2007.03092, 2020. [cited by applicant]
W. L. Hamilton, R. Ying, and J. Leskovec. Inductive representation learning on large graphs. arXiv preprint arXiv:1706.02216, 2017. [cited by applicant]
L. P. Cordella, P. Foggia, C. Sansone, and M. Vento. A (sub) graph isomorphism algorithm for matching large graphs. IEEE Transactions on Pattern Analysis and Machine Intelligence, 26(10):1367-1372, 2004. [cited by applicant]
J. Munkres. Algorithms for the assignment and transportation problems. Journal of the society for Industrial and applied mathematics, 5(1):32-38, 1957. [cited by applicant]
M. Neumann, R. Garnett, C. Bauckhage, and K. Kersting. Propagation kernels: efficient graph kernels from propagated information. Mach. Learn., 102(2):209-245, 2016. [cited by applicant]
J. R. Ullmann. An algorithm for subgraph isomorphism. Journal of the ACM (JACM), 23(1):31-42, 1976. [cited by applicant]
X. Gao, B. Xiao, D. Tao, and X. Li. A survey of graph edit distance. Pattern Analysis and applications, 13(1):113-129, 2010. [cited by applicant]
L. Van der Maaten and G. Hinton. Visualizing data using t-sne. Journal of machine learning research, 9(11), 2008. [cited by applicant]
E. R. Gansner, E. Koutsofios, S. C. North, and K.-P. Vo. A technique for drawing directed graphs. IEEE Transactions on Software Engineering, 19(3):214-230, 1993. [cited by applicant]