IP Library Granted Patent US 10,346,399
Granted Patent B2
US 10,346,399 · App. 15/327,729 · Granted Jul 9, 2019

Searching relational and graph databases

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,346,399
App. No.
15/327,729
Granted
Jul 9, 2019
Kind
B2
Abstract

A technique includes in a relational database query engine, receiving a query associated with a relational data structure. The received query includes a database graph query. The technique includes using the relational database query engine to integrate a result acquired from the graph database engine into a result provided by the relational database query engine to the received query.

Claims (33)

1. A method comprising:

receiving, by a relational database query engine that includes a hardware processor, a query in a relational search language format, the received query comprising a relational database query component and a graph database query component;

performing, by the relational database query engine, a relational database search on the relational database query component to provide a first search result;

executing, by the relational database query engine, an Open Cypher Function (OCF) on the graph database query component to cause the relational database query engine to communicate the graph database query component to a graph database query engine, wherein the graph database query engine is to perform a graph database search on the graph database query component to produce a graph search result as a second search result; and

joining, by the relational database search engine, the first and second search results to respond to the received query.

2. The method of claim 1 , further comprising:

parsing the received query to extract the graph database query component and the relational database query component.

3. The method of claim 1 , further comprising:

prior to joining the first and second search results, transforming the graph search result produced by the graph database query engine into relation tuples, wherein the relation tuples are used as the second search result to be joined with the first search result.

4. The method of claim 1 , wherein executing the OCF on the graph database query component as a user defined transformation function in the relational database query engine.

5. The method of claim 1 , further comprising: accessing an abstraction that handles an interface between the OCF and the relational database query engine.

6. The method of claim 1 , further comprising: accessing an abstraction that handles an interface between the graph database search engine and the OCF.

7. The method of claim 1 , wherein executing the OCF to communicate the graph database query component to the graph database query engine comprises using a first type casting inside the OCF and a second type casting outside the OCF, wherein the first type casting inside the OCF causes returned values from the graph database query component to be cast to strings, and the second type casting outside the OCF causes the returned values to be cast to a number.

8. An article comprising a non-transitory computer readable storage medium to store instructions that, when executed by a computer that includes a relational database query engine, cause the computer to:

in the relational database query engine, receive a query associated with a relational data structure, the received query comprising an embedded graph database query component;

execute an Open Cypher Function (OCF) on the embedded graph database query component to cause the relational database query engine to outsource the embedded graph database query component to a graph database query engine, wherein the graph database query engine is to perform a graph database search on the embedded graph database query component to produce a graph search result; and

integrate the graph search result acquired from the graph database engine into a result provided by the relational database query engine to respond to the received query.

9. The article of claim 8 , the computer readable storage medium storing instructions that when executed by the computer, cause the computer to parse the embedded graph database query from the received query and communicate the parsed graph database query to the graph database query engine.

10. The article of claim 8 , the computer readable storage medium storing instructions, that when executed by the computer, cause the computer to:

prior to integrating the graph search result into the result provided by the relational database query engine, transform the graph search result into relation tuples; and

integrate the relation tuples into the result provided by the relational database query engine.

11. The article of claim 8 , the computer readable storage medium storing instructions, that when executed by the computer, cause the computer to execute the OCF using a state transformation protocol to communicate with the graph database query engine.

12. A system comprising:

a processor; and

a memory storing instructions for a relational database query engine, wherein the instructions are executed by the processor to cause the processor to:

receive a query in a relational search language format, the received query comprising a relational database query component and a graph database query component;

perform a relational database search on the relational database query component of the received query to provide a relational search result;

execute an Open Cypher Function (OCF) on the graph database query component to outsource the graph database query component to a graph database query engine, wherein the graph database query engine is to perform a graph database search on the graph database query component to produce a graph search result;

transform the graph search result received from the graph database query engine into relation tuples; and

join the relation tuples with the relational search result to respond to the received query.

13. The system of claim 12 , wherein the instructions are executable to cause the computer to: parse the graph database query from the received query and communicates the parsed graph database query to the graph database query engine.

14. The system of claim 12 , wherein the instructions are executable to cause the computer to: access an abstraction that handles an interface between the graph database query engine and OCF.

15. The system of claim 12 , wherein the instructions are executable to cause the computer to: access an abstraction that handles an interface between OCF and the relational database query engine.

Assignments (8)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2017
From: CHEN, QIMING; HSU, MEICHUN; CASTELLANOS, MALU G
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 041024/0386 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2017
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 041458/0001 →