CPC G06F 16/2365 (2019.01) [G06F 16/2282 (2019.01); G06F 16/248 (2019.01); G06F 16/284 (2019.01); G06F 16/9024 (2019.01); G06F 17/16 (2013.01)] | 18 Claims |
1. A method for storing intermediate results of a path query in a computer memory, the method comprising:
processing a query that traverses at least two nodes and at least one edge of a graph database;
configuring the computer memory according to an intermediate data structure, the intermediate data structure comprising:
a plurality of tables, each table comprising a plurality of rows and a plurality of columns;
a plurality of links between rows in different tables of the plurality of tables; and
at least one invariant that tracks or enforces path consistency during the processing of the query;
storing data related to processing a first portion of the query in a source table of the plurality of tables;
applying one or more operations to one or more rows of the source table;
storing output of the one or more operations in one or more rows of a destination table of the plurality of tables; and
creating a link between the one or more rows of the source table and the one or more rows of the destination table.
|