# US 2023/0068340 A1 · Data management suggestions from knowledge graph actions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2023/0068340 A1
- Document ID: US20230068340A1
- Status: Published application
- Kind: A1
- Application number: 17/896,927
- Filed: 2022-08-26
- Published: 2023-03-02
- Earliest claimed: 2021-09-02
- Assignees: BackOffice Associates, LLC
- Applicants: BackOffice Associates, LLC d/b/a Syniti
- Inventors: Kyl Wellman; Jon Green; Tyler Warden; James Maniscalco; Rex Ahlstrom
- Web page: https://patentgrep.com/patent/US20230068340A1

## CPC

- G06F 40/279: Recognition of textual entities
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06F 40/40: Processing or translation of natural language (natural language analysis G06F40/20; semantic analysis G06F40/30)
- G06F 40/237: Lexical tools
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Approaches are described for generating suggestions for new nodes or new relationships in a knowledge graph based on content of data assets represented by existing nodes in the knowledge graph. The knowledge graph is defined by nodes connected by edges. A method includes determining that a data asset represented by a root node of a knowledge graph has been changed, where the changed data asset is represented by a version node connected to the root node. The changed data asset is processed, including: identifying one or more candidate terms in the changed data asset, and comparing each candidate term with each of one or more existing terms from data assets of the knowledge graph other than the changed data asset to obtain (i) one or more of the candidate terms that do not correspond to any existing term or (ii) one or more candidate terms that each corresponds to a respective existing term that is not related to the version node representing the changed data asset. A suggestion node is generated for each of the obtained candidate terms, each suggestion node connected to the version node representing the changed data asset, wherein each suggestion node indicates a suggestion for a new node or a new edge in the knowledge graph. Information indicative of each suggestion is displayed on a user interface.

## Claims

### Claim 1

A computer-implemented method comprising:
determining that a data asset represented by a root node of a knowledge graph stored in a database has been changed, wherein the knowledge graph is defined by nodes connected by edges, and wherein the changed data asset is represented by a version node connected to the root node;
processing the changed data asset, including:
identifying one or more candidate terms in the changed data asset, and
comparing each candidate term with each of one or more existing terms from data assets of the knowledge graph other than the changed data asset to obtain (i) one or more of the candidate terms that do not correspond to any existing term or (ii) one or more candidate terms that each corresponds to a respective existing term that is not related to the version node representing the changed data asset;
generating a suggestion node for each of the obtained candidate terms, each suggestion node connected to the version node representing the changed data asset, wherein each suggestion node indicates a suggestion for a new node or a new edge in the knowledge graph; and
enabling display, on a user interface, of information indicative of each suggestion.

### Claim 2 (depends on 1)

The method of claim 1, comprising:
identifying the one or more existing terms from the data assets in the knowledge graph other than the changed data asset.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining that a data asset has been changed comprises determining that the version node has been generated.

### Claim 4 (depends on 1)

The method of claim 1, wherein each suggestion node is connected to the version node representing the changed data asset by an edge of the knowledge graph.

### Claim 5 (depends on 1)

The method of claim 1, wherein identifying one or more candidate terms comprises applying natural language processing to text associated with the changed data asset.

### Claim 6 (depends on 1)

The method of claim 1, wherein identifying one or more candidate terms comprises identifying one or more nouns from the changed data asset.

### Claim 7 (depends on 1)

The method of claim 1, wherein processing the changed data asset comprises generating and processing (i) a first data set comprising the one or more existing terms, (ii) a second data set comprising the one or more candidate terms, and (iii) a third data set comprising one or more of the existing terms that are already related to the version node of the changed data asset in the knowledge graph.

### Claim 8 (depends on 7)

The method of claim 7, wherein processing the changed data asset comprising:
normalizing the terms in each data set;
sorting the normalized terms in each data set; and
grouping the sorted and normalized terms based on a comparison of terms across the first, second, and third data sets.

### Claim 9 (depends on 1)

The method of claim 1, wherein generating a suggestion node comprises, for each candidate term that corresponds to an existing term that is not related to the version node, generating a suggestion node representative of a suggested edge between a node representing the existing term and the version node.

### Claim 10 (depends on 1)

The method of claim 1, wherein generating a suggestion node comprises, for each candidate term that does not correspond to any existing term, generating a suggestion node representative of a suggested new node for the candidate term.

### Claim 11 (depends on 1)

The method of claim 1, wherein enabling display, on a user interface, of information indicative of the suggestion comprises enabling display of a user selectable element to accept, reject, or defer the suggestion.

### Claim 12 (depends on 1)

The method of claim 1, comprising:
in response to a user interaction with the user interface during display of the information indicative of the suggestion, modifying the knowledge graph based on the suggestion for a new node indicated by a particular suggestion node to generate a new term node, in which the new term node represents one of the candidate terms that does not correspond to any existing term, in which the new term node is connected to the version node representing the changed data asset by an edge of the knowledge graph.

### Claim 13 (depends on 12)

The method of claim 12, wherein the new term node is connected to the particular suggestion node by an edge of the knowledge graph.

### Claim 14 (depends on 1)

The method of claim 1, comprising:
in response to a user interaction with the user interface during display of the information indicative of the suggestion, modifying the knowledge graph based on the suggestion for a new edge indicated by a particular suggestion node to generate a new edge between the version node representing the changed data asset and a node representing one of the existing terms.

### Claim 15 (depends on 14)

The method of claim 14, wherein the new edge between the version node and the node representing the existing term is connected to the particular suggestion node by an edge of the knowledge graph.

### Claim 16 (depends on 1)

The method of claim 1, comprising:
detecting a duplicate suggestion based on the obtained candidate terms and previously generated suggestion nodes representative of previous suggestions; and
in response to detecting a duplicate suggestion for a new node or new edge, generating a single suggestion node representative of the duplicate suggestion.

### Claim 17 (depends on 1)

The method of claim 1, comprising:
ranking the suggestions based on a predicted impact, to the knowledge graph, of the new node or new edge corresponding to each of the suggestions.

### Claim 18

A system comprising: one or more processors and one or more storage devices storing instructions that are operable, when executed by the one or more processors, to cause the one or more processors to:
determine that a data asset represented by a root node of a knowledge graph stored in a database has been changed, wherein the knowledge graph is defined by nodes connected by edges, and wherein the changed data asset is represented by a version node connected to the root node;
process the changed data asset, including:
identifying one or more candidate terms in the changed data asset, and
comparing each candidate term with each of one or more existing terms from data assets of the knowledge graph other than the changed data asset to obtain (i) one or more of the candidate terms that do not correspond to any existing term or (ii) one or more candidate terms that each corresponds to a respective existing term that is not related to the version node representing the changed data asset;
generate a suggestion node for each of the obtained candidate terms, each suggestion node connected to the version node representing the changed data asset, wherein each suggestion node indicates a suggestion for a new node or a new edge in the knowledge graph; and
enable display, on a user interface, of information indicative of each suggestion.

### Claim 19 (depends on 18)

The system of claim 18, wherein identifying one or more candidate terms comprises applying natural language processing to text associated with the changed data asset.

### Claim 20 (depends on 18)

The system of claim 18, wherein processing the changed data asset comprises generating and processing (i) a first data set comprising the one or more existing terms, (ii) a second data set comprising the one or more candidate terms, and (iii) a third data set comprising one or more of the existing terms that are already related to the version node of the changed data asset in the knowledge graph.

### Claim 21 (depends on 18)

The system of claim 18, wherein generating a suggestion node comprises, for each candidate term that corresponds to an existing term that is not related to the version node, generating a suggestion node representative of a suggested edge between a node representing the existing term and the version node.

### Claim 22 (depends on 18)

The system of claim 18, wherein generating a suggestion node comprises, for each candidate term that does not correspond to any existing term, generating a suggestion node representative of a suggested new node for the candidate term.

### Claim 23

A non-transitory computer readable medium encoded with a computer program, the program comprising instructions that are operable, when executed by one or more processors, to cause the one or more processors to:
determine that a data asset represented by a root node of a knowledge graph stored in a database has been changed, wherein the knowledge graph is defined by nodes connected by edges, and wherein the changed data asset is represented by a version node connected to the root node;
process the changed data asset, including:
identifying one or more candidate terms in the changed data asset, and
comparing each candidate term with each of one or more existing terms from data assets of the knowledge graph other than the changed data asset to obtain (i) one or more of the candidate terms that do not correspond to any existing term or (ii) one or more candidate terms that each corresponds to a respective existing term that is not related to the version node representing the changed data asset;
generate a suggestion node for each of the obtained candidate terms, each suggestion node connected to the version node representing the changed data asset, wherein each suggestion node indicates a suggestion for a new node or a new edge in the knowledge graph; and
enable display, on a user interface, of information indicative of each suggestion.
