US 12,406,003 B2
Graph processing using a document store
Christian Bensberg, Heidelberg (DE); Stefano Belloni, Mannheim (DE); Matthias Hauck, Frankfurt (DE); Mathias Kemeter, Germersheim (DE); Umang Rawat, Heidelberg (DE); Roland Sedler, Ladenberg (DE); Alan Braenzel, Heidelberg (DE); Markus Fath, Wiesloch (DE); Gerald Franz, Wiesloch (DE); Daniel Ritter, Heidelberg (DE); Frank Tetzel, Heidelberg (DE); Marc Jacob, Hockenheim (DE); and Hannes Jakschitsch, Mannheim (DE)
Assigned to SAP SE, Walldorf (DE)
Filed by SAP SE, Walldorf (DE)
Filed on Dec. 6, 2023, as Appl. No. 18/531,298.
Prior Publication US 2025/0190492 A1, Jun. 12, 2025
Int. Cl. G06F 15/16 (2006.01); G06F 16/901 (2019.01); G06F 16/93 (2019.01)
CPC G06F 16/9024 (2019.01) [G06F 16/93 (2019.01)] 17 Claims
OG exemplary drawing
 
1. A database system for generating a heterogeneous graph, the database system comprising:
a memory configured to store a document store, wherein the document store comprises a JSON storage and an adjacency index, wherein the JSON storage is configured to store graph-related data in one or more documents, wherein each document of the one or more documents represents a node within the heterogeneous graph, wherein the adjacency index is implemented as a persistent cache, and wherein the adjacency index is configured to store mapping information between nodes within the heterogeneous graph, wherein the adjacency index comprises a hash set with a hash map and a row index, and wherein the hash map is configured to store the mapping information between nodes within the heterogeneous graph, the row index is configured to store a sequential ordering of the nodes within the heterogeneous graph; and
a processor in communication with the memory and configured to cause a graph engine configured to:
store a graph script procedure for generating a heterogeneous table, wherein the graph script procedure identifies the one or more documents in the JSON storage; and
initiate the graph script procedure in a graph workspace, wherein the initiating provides one or more graph-related operations for processing the graph-related data;
wherein the processor is further configured to cause an adapter to:
receive the one or more graph-related operations from the graph engine;
translate the one or more graph-related operations into a task to be performed by the document store; and
transmit the task to the document store;
wherein the document store is further configured to:
perform execution of the task to process the graph-related data based on the graph-related data of the one or more documents; and
return an output of the execution of the task to the adapter.