US 12,339,849 B1
In-memory processing of unbounded recursive graph queries in relational databases
Ioannis Alagiannis, Zurich (CH); Vlad Ioan Haprian, Zurich (CH); Laurent Daynes, Saint-Ismier (FR); Hugo Kapp, Zurich (CH); Chun-Hung Tseng, Ecublens (CH); 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 Mar. 25, 2024, as Appl. No. 18/615,056.
Int. Cl. G06F 16/00 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 16/2455 (2019.01) 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
receiving a graph pattern matching query;
determining that the graph pattern matching query is an unbounded recursive path query (RPQ);
initializing an unbounded root vertex match operator (UBRM), using a starting vertex as input to the UBRM, the UBRM configured to compute multiple hops between vertices on the graph;
performing a first reachability search using the UBRM, wherein the UBRM traverses the graph to identify all vertices reachable from the starting vertex;
generating, using the UBRM and in accordance with results of the first reachability search, first level vertices of a path pattern that computes the RPQ;
adding the first level vertices to a first level context of the first level for processing by a successor match operator, wherein the successor match operator comprises an unbounded intermediate neighbor match operator (UBNM), the UBNM configured to compute multiple hops between vertices on the graph and to identify neighbors for each of the first level vertices; and
performing a subsequent reachability search by the UBNM to generate second level vertices, wherein the second level vertices are added to a second level context of the second level.