IP Library › Granted Patent US 12,260,344
Granted Patent B2
US 12,260,344 · App. 16/933,101 · Granted Mar 25, 2025

Dynamic in-memory construction of a knowledge graph

Inventors: Leonidas Georgopoulos (Zurich, CH); Peter Willem Jan Staar (Wädenswil, CH); Christoph Auer (Zurich, CH); Michele Dolfi (Zurich, CH); Konstantinos Bekas (Horgen, CH)
Assignee: International Business Machines Corporation
G06N5/022G06F16/9024G06F40/10
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,260,344
App. No.
16/933,101
Granted
Mar 25, 2025
Kind
B2
Abstract

In an approach for a dynamic in-memory construction of a knowledge graph structure, the knowledge graph structure comprising a plurality of nodes and edges linking selected nodes to each other, a processor receives a record comprising a plurality of strings. The plurality of strings relates to a command combined with a set of strings. A processor determines content records relating to nodes relating to each of the strings. A processor assigns node identifiers for respective determined content records. A processor appends the node identifiers to a dynamic in-memory knowledge graph structure. A processor modifies an edge between selected ones of the node identifiers based on the command combined with the set of strings. A processor builds the dynamic in-memory knowledge graph structure.

Claims (45)

1. A method for a dynamic in-memory construction of a knowledge graph structure, the knowledge graph structure comprising a plurality of nodes and edges linking selected nodes to each other, the method comprising:

receiving a record comprising a plurality of strings, wherein the plurality of strings relates to a command combined with a set of strings;

determining, in a storage system, content records relating to nodes relating to each of the strings, wherein an abstraction layer translates the content records and a knowledge base to a sequence of integer values;

assigning node identifiers for respective determined content records;

appending the node identifiers to a dynamic in-memory knowledge graph structure;

modifying an edge between selected ones of the node identifiers based on the command combined with the set of strings, wherein the command comprises “create” or “delete” the edge between the plurality of nodes;

building, simultaneously, multiple different representations of the dynamic in-memory knowledge graph structure on-the-fly, wherein the content records are stored separate to the knowledge graph structure and wherein the node identifiers pointing to the content records are changed, moved, and adapted to construct a different knowledge graph using a same knowledge base; and

formatting the dynamic in-memory knowledge graph structure in a manner necessary for a specific application or problem to be solved.

2. The method of claim 1 , wherein a same content record relates to different received strings.

3. The method of claim 1 , wherein the command is selected from the group consisting of creation of a link between two node identifiers, deletion of a link between two node identifiers, and modification of a link between two node identifiers in the dynamic in-memory knowledge graph structure.

4. The method of claim 1 , wherein the storage system is a content storage independent of the dynamic in-memory knowledge graph structure.

5. The method of claim 1 , wherein the dynamic in-memory knowledge graph structure is stored in a processor able to directly access a memory system.

6. The method of claim 1 , wherein a format of each of the strings is selected from the group consisting of numeric and alphanumeric.

7. The method of claim 1 , wherein the plurality of strings comprises a termination string at the end of the plurality of strings.

8. The method of claim 1 , wherein a position of the command is predefined.

9. The method of claim 1 , further comprising storing a plurality of records in a knowledge graph construction buffer.

10. The method of claim 1 , further comprising transferring the dynamic in-memory knowledge graph structure to a non-volatile memory.

11. A computer program product for a dynamic in-memory construction of a knowledge graph structure, the knowledge graph structure comprising a plurality of nodes and edges linking selected nodes to each other, the computer program product comprising:

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

program instructions to receive a record comprising a plurality of strings, wherein the plurality of strings relates to a command combined with a set of strings;

program instructions to determine, in a storage system, content records relating to nodes relating to each of the strings, wherein an abstraction layer translates the content records and a knowledge base to a sequence of integer values;

program instructions to assign node identifiers for respective determined content records;

program instructions to append the node identifiers to a dynamic in-memory knowledge graph structure;

program instructions to modify an edge between selected ones of the node identifiers based on the command combined with the set of strings, wherein the command comprises “create” or “delete”, or “modify” the edge between the plurality of nodes;

program instructions to build, simultaneously, multiple different representations of the dynamic in-memory knowledge graph structure on-the-fly, wherein the content records are stored separate to the knowledge graph structure and wherein the node identifiers pointing to the content records are changed, moved, and adapted to construct a different knowledge graph using a same knowledge base; and

program instructions to format the dynamic in-memory knowledge graph structure in a manner necessary for a specific application or problem to be solved.

12. The computer program product of claim 11 , wherein a same content record relates to different received strings.

13. The computer program product of claim 11 , wherein the command is selected from the group consisting of creation of a link between two node identifiers, deletion of a link between two node identifiers, and modification of a link between two node identifiers in the dynamic in-memory knowledge graph structure.

14. The computer program product of claim 11 , wherein the storage system is a content storage independent of the dynamic in-memory knowledge graph structure.

15. The computer program product of claim 11 , further comprising:

program instructions, stored on the one or more computer-readable storage media, to store the dynamic in-memory knowledge graph structure.

16. The computer program product of claim 11 , wherein a format of each of the strings is selected from the group consisting of numeric and alphanumeric.

17. The computer program product of claim 11 , wherein the plurality of strings comprises a termination string at the end of the plurality of strings.

18. The computer program product of claim 11 , wherein a position of the command is predefined.

19. The computer program product of claim 11 , further comprising:

program instructions, stored on the one or more computer-readable storage media, to store a plurality of records.

20. A computer system for a dynamic in-memory construction of a knowledge graph structure, the knowledge graph structure comprising a plurality of nodes and edges linking selected nodes to each other, the 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 receive a record comprising a plurality of strings, wherein the plurality of strings relates to a command combined with a set of strings;

program instructions to determine, in a storage system, content records relating to nodes relating to each of the strings, wherein an abstraction layer translates the content records and a knowledge base to a sequence of integer values;

program instructions to assign node identifiers for respective determined content records;

program instructions to append the node identifiers to a dynamic in-memory knowledge graph structure;

program instructions to modify an edge between selected ones of the node identifiers based on the command combined with the set of strings, wherein the command comprises “create” or “delete” the edge between the plurality of nodes;

program instructions to build, simultaneously, multiple different representations of the dynamic in-memory knowledge graph structure on-the-fly, wherein the content records are stored separate to the knowledge graph structure and wherein the node identifiers pointing to the content records are changed, moved, and adapted to construct a different knowledge graph using a same knowledge base; and

program instructions to format the dynamic in-memory knowledge graph structure in a manner necessary for a specific application or problem to be solved.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2020
From: GEORGOPOULOS, LEONIDAS; STAAR, PETER WILLEM JAN; AUER, CHRISTOPH; DOLFI, MICHELE; BEKAS, KONSTANTINOS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 053251/0555 →
Continuity (1)
Related Publication 20220019907A1 · Jan 20, 2022
References Cited (12)
US 6292792B1 · Baffes et al. · 2001 [cited by applicant]
US 20180075359A1 · Brennan · 2018 [cited by examiner]
US 20180349511A1 · Kleiman-Weiner et al. · 2018 [cited by applicant]
US 20200057946A1 · Singaraju · 2020 [cited by examiner]
EP 2728522A1 · 2014 [cited by examiner]
WO WO2014120202A1 · 2014 [cited by examiner]
WO 2018072563A1 · 2018 [cited by applicant]
Ilievski et al., “KGTL: A Toolkit for Knowledge Graph Manipulation and Analysis,” in arXiv preprint arXiv:2006.00088 (2020). (Year: 2020). [cited by examiner]
Ilievski et al., “KGTK: A Toolkit for Knowledge Graph Manipulation and Analysis,” in arXiv preprint arXiv:2006.00088 (2020). (Year: 2020). [cited by examiner]
Estrella-Balderrama et al., “GraphSET, a Tool for Simultaneous Graph Drawing,” in 40.10 Software: Prac. And Experience 849-63 (2010). (Year: 2010). [cited by examiner]
Duan et al., “Specifying Architecture of Knowledge Graph with Data Graph, Information Graph, Knowledge Graph and Wisdom Graph”, Proceedings of the 15th International Conference on Software Engineering Research, Manageme… [cited by applicant]
Zhao et al., “Architecture of Knowledge Graph Construction Techniques”, International Journal of Pure and Applied Mathematics, vol. 118 No. 19, 2018, pp. 1869-1883. [cited by applicant]