Graph operations
US-2016179887-A1 · Jun 23, 2016 · US
US10984047B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10984047-B2 |
| Application number | US-201916431294-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 4, 2019 |
| Priority date | Apr 11, 2016 |
| Publication date | Apr 20, 2021 |
| Grant date | Apr 20, 2021 |
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.
Techniques are provided for mapping tables and columns of a legacy relational schema into synthetic tables that are dedicated for graph analysis. In an embodiment, a computer receives a mapping of relational tables to node tables and edge tables. The node tables contain columns and rows. The edge tables contain columns and rows. The rows of the node tables and the rows of the edge tables define a graph. Based on the mapping and the relational tables, the computer calculates a value of at least one column of at least one row of the node tables. Based on an execution of a query of the graph, the computer returns the value.
Opening claim text (preview).
What is claimed is: 1. A method comprising: creating a database view that defines: a) a plurality of node tables that comprises a plurality of node rows that represent a plurality of vertices of a graph, wherein the plurality of node tables contains a first node table and a second node table that represent separate respective kinds of objects, and b) one or more edge tables that comprise a plurality of edge rows that each has a one-to-one correspondence with a respective edge of the graph; generating, into memory, content of said first node table and said second node table based on said database view; returning a result based on: an execution of a query of said graph, and said content of said first node table and said second node table in said memory. 2. The method of claim 1 wherein said database view that defines said plurality of node tables is non-materialized. 3. The method of claim 1 wherein said one or more edge tables that comprise said plurality of edge rows comprises an associative table. 4. The method of claim 1 wherein: the database view is backed by one or more relational tables that comprise a first primary key; said plurality of node tables comprises a second primary key that is: based on the first primary key, or not based on the first primary key. 5. The method of claim 1 further comprising generating a specification table that is populated by statements consisting of: upsert statements, and/or idempotent statements. 6. The method of claim 1 wherein the database view that defines said plurality of node tables is based on a second database view. 7. The method of claim 1 wherein: said plurality of node tables comprises a plurality of properties that are stored as name-value pairs in a property table; the property table comprises a name column that stores names of said name-value pairs and a value column that stores values of said name-value pairs. 8. The method of claim 1 wherein said plurality of node tables comprises: a) node identifiers, and b) a plurality of properties that are stored as name-value pairs in a property table that is sorted by the node identifiers. 9. The method of claim 1 wherein said plurality of node tables comprises a plurality of properties that are stored as name-value pairs in a property table that comprises compression. 10. The method of claim 9 wherein: the property table comprises a name column and a value column; said compression comprises compression of the name column. 11. The method of claim 9 wherein said compression of the property table comprises run length encoding (RLE). 12. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause: creating a database view that defines: a) a plurality of node tables that comprises a plurality of node rows that represent a plurality of vertices of a graph, wherein the plurality of node tables contains a first node table and a second node table that represent separate respective kinds of objects, and b) one or more edge tables that comprise a plurality of edge rows that each has a one-to-one correspondence with a respective edge of the graph; generating, into memory, content of said first node table and said second node table based on said database view; returning a result based on: an execution of a query of said graph, and said content of said first node table and said second node table in said memory. 13. The one or more non-transitory computer-readable media of claim 12 wherein said database view that defines said plurality of node tables is non-materialized. 14. The one or more non-transitory computer-readable media of claim 12 wherein said one or more edge tables that comprise said plurality of edge rows comprises an associative table. 15. The one or more non-transitory computer-readable media of claim 12 wherein: the database view is backed by one or more relational tables that comprise a first primary key; said plurality of node tables comprises a second primary key that is: based on the first primary key, or not based on the first primary key. 16. The one or more non-transitory computer-readable media of claim 12 wherein said instructions further cause generating a specification table that is populated by statements consisting of: upsert statements, and/or idempotent statements. 17. The one or more non-transitory computer-readable media of claim 12 wherein the database view that defines said plurality of node tables is based on a second database view. 18. The one or more non-transitory computer-readable media of claim 12 wherein: said plurality of node tables comprises a plurality of properties that are stored as name-value pairs in a property table; the property table comprises a name column that stores names of said name-value pairs and a value column that stores values of said name-value pairs. 19. The one or more non-transitory computer-readable media of claim 12 wherein said plurality of node tables comprises: a) node identifiers, and b) a plurality of properties that are stored as name-value pairs in a property table that is sorted by the node identifiers. 20. The one or more non-transitory computer-readable media of claim 12 wherein said plurality of node tables comprises a plurality of properties that are stored as name-value pairs in a property table that comprises compression.
Graphs; Linked lists (G06F16/9027 takes precedence) · CPC title
Mapping; Conversion · CPC title
Query processing · CPC title
Integrating or interfacing systems involving database management systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.