Using temporary tables to store graph algorithm results for a relational database management system
US-2023267120-A1 · Aug 24, 2023 · US
US12380108B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12380108-B2 |
| Application number | US-202418582395-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 20, 2024 |
| Priority date | Sep 13, 2022 |
| Publication date | Aug 5, 2025 |
| Grant date | Aug 5, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method may include receiving a definition of a table user-defined function (TUDF) in a graph query language. The table user-defined function may be created based on the definition. For example, the creation of the table user-defined function may include checking and compiling the definition to generate executable code associated with the table user-defined function. Upon receiving a query including a relational query language statement invoking the table user-defined function, such as a structured query language select statement, the query may be executed on at least a portion of a graph data stored in a database. The executing of the query may include calling the executable code to execute the table user-defined function included in the relational query language statement. Related systems and computer program products are also provided.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: at least one data processor; and at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising: creating, based at least on a definition, a table user-defined function in a graph query language; compiling the definition of the table user-defined function, wherein the compiling of the definition of the table user-defined function includes verifying a first table type of a table output by the table user-defined function, wherein the compiling of the definition of the table user-defined function includes verifying an existence and validity of one or more graph workspaces referenced in the definition of the table user-defined function and/or verifying that each execution path within the definition returns a same table type; receiving a query including a relational query language statement invoking the table user-defined function; and executing, on at least a portion of a graph data stored in a database, the query including by executing the table user-defined function included in the relational query language statement. 2. The system of claim 1 , wherein the table user-defined function is defined to perform graph specific processing on a graph workspace containing one or more vertex tables and edge tables forming the graph data. 3. The system of claim 1 , wherein the operations further comprise: verifying that a schema qualified name of the table user-defined function specified in the definition is unique within a schema of a graph workspace referenced in the definition and adheres to a naming convention associated with the relational query language statement. 4. The system of claim 1 , wherein the operations further comprise: verifying that a creator of the table user-defined function has a privilege to define a function and/or replace a function in a given schema. 5. The system of claim 1 , wherein the compiling of the definition of the table user-defined function causes generation of an executable code associated with the table user-defined function. 6. The system of claim 5 , wherein the compiling of the definition of the table user-defined function includes verifying that the first table type of the table output by the table user-defined function matches a second table type defined in a function signature. 7. The system of claim 5 , wherein the table user-defined function is executed by at least calling the executable code associated with the table user-defined function. 8. The system of claim 1 , wherein the table user-defined function implements a graph processing algorithm comprising one or more of subgraph, inverse graph, in-degree, out-degree, incoming edges, outgoing edges, neighbors, is-reachable, shortest path, shortest path one to all, k shortest paths, strongly connected components, depth first traversal, and breadth first traversal. 9. The system of claim 1 , wherein the relational query language statement comprises GraphScript. 10. The system of claim 1 , wherein the relational query language statement is a structured query language (SQL) select statement. 11. The system of claim 1 , wherein the table user-defined function is invoked in a FROM clause of an SQL select statement. 12. The system of claim 1 , wherein the table user-defined function provides read-only access to the graph data. 13. The system of claim 1 , wherein the definition of the table user-defined function specifies one or more of a name of the table user-defined function, a schema name of the table user-defined function, a parameter of the table user-defined function, a security mode of the table user-defined function, and a type of table output by the table user-defined function. 14. A computer-implemented method, comprising: creating, based at least on a definition, a table user-defined function in a graph query language; compiling the definition of the table user-defined function, wherein the compiling of the definition of the table user-defined function includes verifying a first table type of a table output by the table user-defined function, wherein the compiling of the definition of the table user-defined function includes verifying an existence and validity of one or more graph workspaces referenced in the definition of the table user-defined function and/or verifying that each execution path within the definition returns a same table type; receiving a query including a relational query language statement invoking the table user-defined function; and executing, on at least a portion of a graph data stored in a database, the query including by executing the table user-defined function included in the relational query language statement. 15. The method of claim 14 , wherein the table user-defined function is defined to perform graph specific processing on a graph workspace containing one or more vertex tables and edge tables forming the graph data. 16. The method of claim 14 , further comprising: verifying that a schema qualified name of the table user-defined function specified in the definition is unique within a schema of a graph workspace referenced in the definition and adheres to a naming convention associated with the relational query language statement. 17. The method of claim 14 , further comprising: verifying that a creator of the table user-defined function has a privilege to define a function and/or replace a function in a given schema. 18. A non-transitory computer readable medium storing instructions, which when executed by at least one data processor, result in operations comprising: creating, based at least on a definition, a table user-defined function in a graph query language; compiling the definition of the table user-defined function, wherein the compiling of the definition of the table user-defined function includes verifying a first table type of a table output by the table user-defined function, wherein the compiling of the definition of the table user-defined function includes verifying an existence and validity of one or more graph workspaces referenced in the definition of the table user-defined function and/or verifying that each execution path within the definition returns a same table type; receiving a query including a relational query language statement invoking the table user-defined function; and executing, on at least a portion of a graph data stored in a database, the query including by executing the table user-defined function included in the relational query language statement.
Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title
of query operations · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.