IP Library Granted Patent US 10,984,046
Granted Patent B2
US 10,984,046 · App. 15/758,825 · Granted Apr 20, 2021

Graph database and relational database mapping

Inventors: Mahashweta Das (Palo Alto, CA); Alkiviadis Simitsis (Palo Alto, CA); William K. Wilkinson (Palo Alto, CA)
Assignee: MICRO FOCUS LLC
G06F16/9024G06F16/245G06F16/284
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 10,984,046
App. No.
15/758,825
Granted
Apr 20, 2021
Kind
B2
Abstract

Examples for mapping a relational database to a graph database include a mapping engine to execute an arbitrary query on a relational database, identify a result column tag based on a tag of an underlying base table, process the result column into a typed, directed property graph based on the result column tag, and output the typed, directed property graph to a graph database. Examples for mapping a graph database to a relational database include processing a graph transaction by updating a mapping layer with a surrogate describing a change to a database object, determining, for an object in the mapping layer, if a database constraint defined on the object is satisfied, collecting database changes defined by the surrogate into a database change request, submitting the change request to a relational database as a transaction, and deleting the surrogate for the object in the mapping layer.

Claims (22)

1. A method for mapping a graph database to a relational database, comprising:

processing, by a processor of a computing device, a graph transaction of a change in the graph database;

creating, by the processor, in a mapping layer, a surrogate describing a change to an object in the relational database corresponding to the change in the graph database;

validating, by the processor, the change to the object described in the surrogate, by determining, with the change to the object, whether a relational-database constraint defined on the object is satisfied; and

in response to a determination that the relational-database constraint defined on the object is satisfied, writing, by the processor, the change to the object described in the surrogate into a database change request, submitting the database change request to the relational database as a relational-database transaction, and deleting the surrogate in the mapping layer.

2. The method of claim 1 , further comprising:

in response to a determination that the relational-database constraint defined on the object is not satisfied, caching the change to the object in the mapping layer until the relational-database constraint defined on the object is satisfied.

3. The method of claim 1 , wherein the surrogate further describes a change to a class of the object.

4. The method of claim 1 , wherein the surrogate further describes a change to a relationship of the object.

5. An article comprising at least one non-transitory machine-readable storage medium comprising instructions executable by a processing resource of a graph database system to:

process a change in a graph database;

create, in a mapping layer, a surrogate describing a change to an object in a relational database corresponding to the change in the graph database;

validate the change to the object described in the surrogate, by determining, with the change to the object, whether a relational-database constraint defined on the object is satisfied; and

in response to a determination that the relational-database constraint defined on the object is not satisfied, cache the change to the object in the mapping layer until the relational-database constraint is satisfied.

6. The article of claim 5 , wherein the surrogate describes a change to a class of the object.

7. The article of claim 5 , wherein the surrogate describes a change to a relationship of the object.

8. The article of claim 5 , wherein the instructions are executable to cause the processing resource to:

create, in addition to the surrogate describing the change in the object, a plurality of surrogates for the object linked in order of time, wherein the plurality of surrogates describe additional changes in the object.

9. The article of claim 8 , wherein the plurality of surrogates describes the additional changes to classes and relationships of the object in the relational database.

10. The article of claim 8 , wherein the instructions are executable to cause the processing resource to:

validate the additional changes, by determining whether the additional changes violate the relational-database constraint defined on the object.

11. The article of claim 10 , wherein, to validate the additional changes, the instructions are executable to cause the processing resource to start the validation with an oldest surrogate in the order of time.

Assignments (6)
RELEASE OF SECURITY INTEREST REEL/FRAME 059610/0338 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC
Reel/Frame 062626/0134 →
SECURITY AGREEMENT Recorded Apr 5, 2022
From: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 059610/0338 →
SECURITY AGREEMENT Recorded Apr 5, 2022
From: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 059610/0380 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2018
From: DAS, MAHASHWETA; SIMITSIS, ALKIVIADIS; WILKINSON, WILLIAM K
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 046213/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2018
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 046434/0101 →
Continuity (1)
Related Publication 20200201909A1 · Jun 25, 2020
Cited By (1)
US 12,367,194