IP Library › Granted Patent US 10,152,560
Granted Patent B2
US 10,152,560 · App. 14/973,113 · Granted Dec 11, 2018

Graph database querying and visualization

Inventors: Alexei Potiagalov (Richmond, CA); Sarah Menard (South San Francisco, CA); Paul Ekeland (Dublin, IE); Ivailo Ivanov (Vancouver, CA)
Assignee: BUSINESS OBJECTS SOFTWARE LIMITED
G06F17/30958G06F17/30572
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,152,560
App. No.
14/973,113
Filed
Dec 17, 2015
Granted
Dec 11, 2018
Kind
B2
Art Unit
2156
USPC
707/798
Abstract

Embodiments provide for querying and visualization of query results of graph data. An engine processes graph data to create metadata (e.g., in JSON format) identifying at least different node types and edge types that are present in a graph database. An overview visualization simplifies presentation of graph data by depicting only various different node types and graph types. The overview visualization may form the basis for formulating queries including the metadata, which are then promulgated to the graph database. Returned query results may be visualized as an overview or on a detailed node level, promoting insight and formulation of additional queries including node/edge type metadata. The engine may convert graph data query results into tabular form for consumption by relational database analytical tools. According to particular embodiments, an engine of an in-memory database may be particularly suited to perform graph data visualization, querying, and/or tabular conversion tasks.

Claims (45)

1. A computer-implemented method comprising:

an in-memory database engine accessing metadata stored in an in-memory database associated with graph data of a graph database, the metadata identifying a plurality of nodes of a first node type, a plurality of nodes of a second node type, and a plurality of edges of a first edge type between the plurality of nodes of the first node type and the plurality of nodes of the second node type;

the in-memory database engine formulating a query including the metadata;

the in-memory database engine promulgating the query to the graph database;

the in-memory database engine receiving from the graph database a query result responsive to the query;

the in-memory database engine converting the query result into a table;

the in-memory database engine saving the table to the in-memory database;

the in-memory database engine displaying the query result in an overview visualization representing all nodes of the first node type as a first icon, all nodes of the second node type as a second icon, and edges of the first edge type as a single edge between the first icon and the second icon; and

the in-memory database engine displaying the query result in a node level visualization rendering,

each of the plurality of nodes of the first node type and each of the plurality nodes of the second node type as separate nodes; and

each of the plurality of edges of the first edge type as separate edges.

2. The method as in claim 1 wherein the metadata is in JavaScript Object Notation (JSON) format.

3. The method as in claim 1 wherein the converting is based upon the in-memory database engine receiving an input specifying the first node type.

4. The method as in claim 1 wherein the converting is based upon the in-memory database engine receiving an input specifying the first edge type.

5. The method as in claim 1 wherein the converting is based upon the in-memory database engine receiving an input specifying a plurality of edge types and a plurality of node types displayed in an overview visualization of the query result.

6. A non-transitory computer readable storage medium embodying a computer program for performing a method, said method comprising:

an in-memory database engine accessing metadata stored in an in-memory database associated with graph data of a graph database, the metadata identifying a plurality of nodes of a first node type, a plurality of nodes of a second node type, and a plurality of edges of a first edge type between the plurality of nodes of the first node type and the plurality of nodes of the second node type;

the in-memory database engine formulating a query including the metadata;

the in-memory database engine promulgating the query to the graph database;

the in-memory database engine receiving from the graph database a query result responsive to the query;

the in-memory database engine converting the query result into a table;

the in-memory database saving the table in the in-memory database;

the in-memory database engine displaying the query result in an overview visualization representing all nodes of the first node type as a first icon, all nodes of the second node type as a second icon, and edges of the first edge type as a single edge between the first icon and the second icon; and

the in-memory database engine displaying the query result in a node level visualization rendering,

each of the plurality of nodes of the first node type and each of the plurality nodes of the second node type as separate nodes; and

each of the plurality of edges of the first edge type as separate edges.

7. The non-transitory computer readable storage medium as in claim 6 wherein the metadata is in JavaScript Object Notation (JSON) format.

8. The non-transitory computer readable storage medium as in claim 6 wherein the converting is based upon an input specifying the first node type or the first edge type.

9. The non-transitory computer readable storage medium as in claim 6 wherein the converting is based upon the in-memory database engine receiving an input specifying a plurality of edge types and a plurality of node types displayed in the overview visualization.

10. A computer system comprising:

one or more processors;

a software program, executable on said computer system, the software program configured to cause an in-memory database engine to:

access from an in-memory database, metadata associated with graph data of a graph database, the metadata identifying a plurality of nodes of a first node type, a plurality of nodes of a second node type, and a plurality of edges of a first edge type between the plurality of nodes of the first node type and the plurality of nodes of the second node type;

formulate a query including the metadata;

promulgate the query to the graph database; and

receive from the graph database a query result responsive to the query,

wherein the software program is further configured to cause the in-memory database engine to,

convert the query result into a table,

save the table in the in-memory database,

display the query result in an overview visualization representing all nodes of the first node type as a first icon, all nodes of the second node type as a second icon, and edges of the first edge type as a single edge between the first icon and the second icon, and

display the query result in a node level visualization rendering,

each of the plurality of nodes of the first node type and each of the plurality nodes of the second node type as separate nodes; and

each of the plurality of edges of the first edge type as separate edges.

11. The computer system as in claim 10 wherein the software program is configured to cause in-memory database engine to convert the query result into the table in response to an input specifying a plurality of edge types and a plurality of node types displayed in the overview visualization.

12. The computer system as in claim 10 wherein the metadata is in JSON format.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2015
From: POTIAGALOV, ALEXEI; MENARD, SARAH; EKELAND, PAUL; IVANOV, IVAILO
To: BUSINESS OBJECTS SOFTWARE LIMITED
Reel/Frame 037320/0114 →
Continuity (1)
Related Publication 20170177681A1 · Jun 22, 2017
Cited By (22)
US 12,190,330 US 12,204,564 US 12,216,794 US 12,259,882 US 12,265,896 US 12,271,424 US 12,277,232 US 12,288,233 US 12,292,930 US 12,299,065 US 12,353,405 US 12,381,915 US 12,406,006 US 12,412,140 US 12,536,329 US 12,591,828 US 12,609,938 US 12,641,108 US 12,688,324 US 12,694,044 US 12,718,167 US 12,748,738