US 11,989,178 B2
Efficient compilation of graph queries including complex expressions on top of sql based relational engine
Vlad Haprian, Zurich (CH); Laurent Daynes, Saint-Ismier (FR); Zhen Hua Liu, San Mateo, CA (US); Lei Sheng, Foster City, CA (US); Hugo Kapp, Zurich (CH); Marco Arnaboldi, Zurich (CH); Jean-Pierre Lozi, Zurich (CH); Andrew Witkowski, Foster City, CA (US); Hassan Chafi, San Mateo, CA (US); and Sungpack Hong, Palo Alto, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Oct. 26, 2020, as Appl. No. 17/080,700.
Prior Publication US 2022/0129461 A1, Apr. 28, 2022
Int. Cl. G06F 16/2453 (2019.01); G06F 16/2455 (2019.01); G06F 16/901 (2019.01)
CPC G06F 16/24537 (2019.01) [G06F 16/24558 (2019.01); G06F 16/9024 (2019.01)] 44 Claims
OG exemplary drawing
 
1. A method comprising:
executing a graph pattern query against a heterogenous graph having a plurality of vertices and a plurality of edges stored in a plurality of tables that includes a plurality of vertex tables that store rows representing the plurality of vertices;
wherein the graph pattern query includes a vertex identifier operator referencing vertices of the heterogenous graph;
wherein executing the graph pattern query includes generating a plurality of vertex identifiers that are returned as a result for the vertex identifier operator, wherein each vertex identifier of the plurality of vertex identifiers includes:
one or more values that identify a respective vertex and a single respective row in the plurality of vertex tables that represents the respective vertex;
a value that represents a respective table of said plurality of vertex tables that holds said single respective row;
wherein the plurality of vertex identifiers includes:
a first vertex identifier that identifies a first vertex, a first vertex table of said plurality of vertex tables, and a first row in said first vertex table, the first row in the first vertex table representing the first vertex, and
a second vertex identifier that identifies a second vertex, a second vertex table of said plurality of vertex tables, and a second row in said second vertex table of the plurality of vertex tables, the second row in the second vertex table representing the second vertex.