IP Library Granted Patent US 12,367,194
Granted Patent B1
US 12,367,194 · App. 18/418,718 · Granted Jul 22, 2025

Compilation techniques for algorithmic graph processing in a relational database

Inventors: Hugo Kapp (Zurich, CH); Guido Wachsmuth (Zurich, CH); Laurent Daynes (Saint-Ismier, FR)
Assignee: Oracle International Corporation
G06F16/24547G06F16/2443G06F16/24526G06F16/24544
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,367,194
App. No.
18/418,718
Granted
Jul 22, 2025
Kind
B1
Abstract

A method and apparatus for graph processing in a relational database environment is provided. Preprocessing transformations that enforce restrictions on a high-level domain-specific language (DSL) input is performed to generate one or more graph iterations. At least one query intermediate representation (IR) is generated by lowering the one or more graph iterations into at least one query. The query IR is/are mapped to one or more corresponding relational queries with procedural extensions. The relational queries with procedural extensions are run against relational database management system (RDBMS) tables representing at least one property graph.

Claims (30)

1. A method comprising:

performing one or more preprocessing transformations that enforce restrictions on a high-level domain-specific language (DSL) input to generate one or more graph iterations, wherein the one or more graph iterations comprise building blocks;

generating at least one query intermediate representation (IR) by lowering the one or more graph iterations into at least one query construct, wherein lowering the one or more graph iterations into the at least one query comprises putting the building blocks of the one or more graph iterations into respective corresponding positions in the at least one query construct;

mapping the query IR to one or more corresponding relational queries with procedural extensions; and

running the relational queries with procedural extensions against relational database management system (RDBMS) tables representing at least one property graph;

wherein the method is performed by one or more computing devices.

2. The method of claim 1 wherein translating the DSL input into relational queries with procedural extensions comprises processing of property updates and aggregations within the property graph.

3. The method of claim 1 wherein the one or more graph iterations comprise at least iterations for property updates where the iterations for the property updates occur over the structure of a graph, or a subset of the graph and the result is one or more updates to a value of a property assigned for at least one vertex or edge.

4. The method of claim 3 wherein the property updates come from a nested aggregation.

5. The method of claim 3 wherein name abstractions and loops for are used during the one or more graph iterations over graph tables corresponding to the property updates.

6. The method of claim 1 wherein the one or more graph iterations comprise at least iterations for aggregations where reduction operations are performed over vertices or edges of a graph or subset of the graph and the result is stored as a scalar variable.

7. The method of claim 6 wherein name abstractions and loops for are used during the one or more graph iterations over graph tables corresponding to the aggregations.

8. The method of claim 1 wherein the preprocessing transformations comprise at least transforming an operation in the DSL input corresponding to multiple property updates to parallel iterations to perform one property update each.

9. The method of claim 1 wherein the query IR is syntactically similar to a structured query language (SQL) query and includes additional constructs defined.

10. The method of claim 1 wherein the relational queries with procedural extensions comprise a graph-specific table structure based on information extracted from graph metadata.

11. One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause performance of the method recited in claim 1 .

12. A method comprising performing a machine-executed operation involving instructions, wherein said instructions are instructions which, when executed by one or more computing devices, cause performance of certain steps including:

performing one or more preprocessing transformations that enforce restrictions on a high-level domain-specific language (DSL) input to generate one or more graph iterations, wherein the one or more graph iterations comprise building blocks;

generating at least one query intermediate representation (IR) by lowering the one or more graph iterations into at least one query construct, wherein lowering the one or more graph iterations into the at least one query comprises putting the building blocks of the one or more graph iterations into respective corresponding positions in the at least one query construct;

mapping the query IR to one or more corresponding relational queries with procedural extensions; and

running the relational queries with procedural extensions against relational database management system (RDBMS) tables representing at least one property graph;

wherein the machine-executed operation is at least one of (a) sending said instructions, (b) receiving said instructions, (c) storing said instructions, or (d) executing said instructions.

13. The method of claim 12 wherein translating the DSL input into relational queries with procedural extensions comprises processing of property updates and aggregations within the property graph.

14. The method of claim 12 wherein the one or more graph iterations comprise at least iterations for property updates where the iterations for the property updates occur over the structure of a graph, or a subset of the graph and the result is one or more updates to a value of a property assigned for at least one vertex or edge.

15. The method of claim 14 wherein name abstractions and loops for are used during the one or more graph iterations over graph tables corresponding to the property updates.

16. The method of claim 12 wherein the one or more graph iterations comprise at iterations for aggregations where reduction operations are performed over vertices or edges of a graph or subset of the graph and the result is stored as a scalar variable.

17. The method of claim 16 wherein name abstractions and loops for are used during the one or more graph iterations over graph tables corresponding to the aggregations.

18. The method of claim 12 wherein the preprocessing transformations comprise at least transforming an operation in the DSL input corresponding to multiple property updates to parallel iterations to perform one property update each.

19. The method of claim 12 wherein the relational queries with procedural extensions comprise a graph-specific table structure based on information extracted from graph metadata.

20. The method of claim 12 wherein the relational queries comprise heterogeneous operators.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2024
From: KAPP, HUGO; WACHSMUTH, GUIDO; DAYNES, LAURENT
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 066209/0698 →
References Cited (191)
US 5379419A · Heffernan et al. · 1995 [cited by applicant]
US 5594899A · Knudsen · 1997 [cited by applicant]
US 5596752A · Kundsen · 1997 [cited by applicant]
US 6081801A · Cochrane et al. · 2000 [cited by applicant]
US 8046751B1 · Avadhanula · 2011 [cited by applicant]
US 8631489B2 · Antonakakis · 2014 [cited by applicant]
US 8826255B1 · Avadhanula · 2014 [cited by applicant]
US 9116738B2 · Jacob et al. · 2015 [cited by applicant]
US 9122513B2 · Jacob et al. · 2015 [cited by applicant]
US 9454344B1 · Gao · 2016 [cited by applicant]
US 10268610B1 · McKenney · 2019 [cited by applicant]
US 10409560B1 · Bebee · 2019 [cited by applicant]
US 10452655B2 · Lahorani et al. · 2019 [cited by applicant]
US 10984046B2 · Das et al. · 2021 [cited by applicant]
US 11514219B1 · Abo Foul et al. · 2022 [cited by applicant]
US 11704313B1 · Andrade et al. · 2023 [cited by applicant]
US 20020178341A1 · Frank · 2002 [cited by applicant]
US 20040194074A1 · Shibayama · 2004 [cited by applicant]
US 20060101001A1 · Lindsay et al. · 2006 [cited by applicant]
US 20060195463A1 · Bogner · 2006 [cited by applicant]
US 20060248285A1 · Petev · 2006 [cited by applicant]
US 20080184197A1 · Dobbins et al. · 2008 [cited by applicant]
US 20080281801A1 · Larson et al. · 2008 [cited by applicant]
US 20100088666A1 · Box et al. · 2010 [cited by applicant]
US 20110055511A1 · Mantor · 2011 [cited by applicant]
US 20110087670A1 · Jorstad · 2011 [cited by applicant]
US 20110119245A1 · Sargeant et al. · 2011 [cited by applicant]
US 20110267351A1 · Curbera · 2011 [cited by applicant]
US 20110270861A1 · Arshavsky et al. · 2011 [cited by applicant]
US 20130006935A1 · Grisby · 2013 [cited by applicant]
US 20130066837A1 · Colrain · 2013 [cited by applicant]
US 20130297605A1 · Cohen · 2013 [cited by applicant]
US 20130339352A1 · Jin · 2013 [cited by applicant]
US 20140019490A1 · Roy et al. · 2014 [cited by applicant]
US 20140032617A1 · Stanfill · 2014 [cited by applicant]
US 20140122812A1 · Hakura · 2014 [cited by applicant]
US 20140136553A1 · Jacob et al. · 2014 [cited by applicant]
US 20140136555A1 · Jacob et al. · 2014 [cited by applicant]
US 20140137129A1 · Jacob et al. · 2014 [cited by applicant]
US 20140137130A1 · Jacob et al. · 2014 [cited by applicant]
US 20140172810A1 · Paradies · 2014 [cited by applicant]
US 20140189665A1 · Hong · 2014 [cited by applicant]
US 20140244687A1 · Shmueli · 2014 [cited by applicant]
US 20140282574A1 · Marathe · 2014 [cited by applicant]
US 20140337276A1 · Iordanov · 2014 [cited by applicant]
US 20140351820A1 · Lee · 2014 [cited by applicant]
US 20150026158A1 · Jin · 2015 [cited by applicant]
US 20150089485A1 · Baskaran · 2015 [cited by applicant]
US 20150095698A1 · Ema · 2015 [cited by applicant]
US 20150128151A1 · Rak · 2015 [cited by applicant]
US 20150370838A1 · Paradies · 2015 [cited by applicant]
US 20160063132A1 · Chen et al. · 2016 [cited by applicant]
US 20160063191A1 · Vesto · 2016 [cited by examiner]
US 20160071233A1 · Macko et al. · 2016 [cited by applicant]
US 20160078041A1 · Hartig · 2016 [cited by applicant]
US 20160103931A1 · Appavu · 2016 [cited by applicant]
US 20160117358A1 · Schmid et al. · 2016 [cited by applicant]
US 20160179883A1 · Chen · 2016 [cited by applicant]
US 20160188656A1 · Ekanadham et al. · 2016 [cited by applicant]
US 20160342708A1 · Fokoue-Nkoutche et al. · 2016 [cited by applicant]
US 20160364220A1 · Arai · 2016 [cited by applicant]
US 20170046388A1 · Kirk et al. · 2017 [cited by applicant]
US 20170060958A1 · Van Rest · 2017 [cited by applicant]
US 20170068748A1 · Hu et al. · 2017 [cited by applicant]
US 20170091246A1 · Risvik · 2017 [cited by applicant]
US 20170147705A1 · Kasperovics et al. · 2017 [cited by applicant]
US 20170168779A1 · Sevenich · 2017 [cited by applicant]
US 20170286272A1 · Yang · 2017 [cited by applicant]
US 20170286273A1 · Lau · 2017 [cited by applicant]
US 20170308565A1 · Broll · 2017 [cited by applicant]
US 20180067987A1 · Kang et al. · 2018 [cited by applicant]
US 20180096000A1 · Harrison et al. · 2018 [cited by applicant]
US 20180096035A1 · Kreutzer et al. · 2018 [cited by applicant]
US 20180203897A1 · Van Rest · 2018 [cited by applicant]
US 20180218088A1 · Fischer et al. · 2018 [cited by applicant]
US 20180293329A1 · Yanagisawa · 2018 [cited by applicant]
US 20180307777A1 · Sevenich · 2018 [cited by applicant]
US 20180329958A1 · Choudhury · 2018 [cited by applicant]
US 20190042661A1 · Sevenich · 2019 [cited by applicant]
US 20190121810A1 · Zhuang · 2019 [cited by applicant]
US 20190205480A1 · Zhang et al. · 2019 [cited by applicant]
US 20190213356A1 · Vagujhelyi et al. · 2019 [cited by applicant]
US 20190258401A1 · Li · 2019 [cited by applicant]
US 20190303506A1 · Bross et al. · 2019 [cited by applicant]
US 20190311060A1 · Bross et al. · 2019 [cited by applicant]
US 20190340284A1 · Kandukuri · 2019 [cited by applicant]
US 20200117762A1 · Haprian · 2020 [cited by applicant]
US 20200364268A1 · Xu et al. · 2020 [cited by applicant]
US 20210034615A1 · Chen et al. · 2021 [cited by applicant]
US 20210064660A1 · Xu et al. · 2021 [cited by applicant]
US 20210149854A1 · Barde et al. · 2021 [cited by applicant]
US 20210224235A1 · Arnaboldi et al. · 2021 [cited by applicant]
US 20210256063A1 · Kasperovics et al. · 2021 [cited by applicant]
US 20220129451A1 · Haprian et al. · 2022 [cited by applicant]
US 20220129461A1 · Haprian et al. · 2022 [cited by applicant]
US 20220129465A1 · Haprian et al. · 2022 [cited by applicant]
US 20220245147A1 · Segalini et al. · 2022 [cited by applicant]
US 20240265001A1 · Fatahi · 2024 [cited by examiner]
CN 107807983A · 2018 [cited by applicant]
Haprian, U.S. Appl. No. 17/080,700, filed Oct. 26, 2020, Non-Final Rejection, Sep. 9, 2022. [cited by applicant]
Arnaboldi, U.S. Appl. No. 16/747,827, filed Jan. 21, 2020, Notice of Allowance, Jun. 9, 2021. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,719, filed Oct. 26, 2020, Notice of Allowance and Fees Due, Jul. 7, 2022. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,719, filed Oct. 26, 2020, Non-Final Rejection, Dec. 14, 2021. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,700, filed Oct. 26, 2020, Notice of Allowance and Fees Due, Sep. 21, 2023. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,700, filed Oct. 26, 2020, Notice of Allowance and Fees Due, Apr. 25, 2024. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,700, filed Oct. 26, 2020, Notice of Allowance and Fees Due, Jan. 29, 2024. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,719, filed Oct. 26, 2020, Notice of Allowance and Fees Due, Oct. 20, 2022. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,700, filed Oct. 26, 2020, Advisory Action, Mar. 30, 2023. [cited by applicant]
Kandukuri, U.S. Appl. No. 15/971,644, filed May 4, 2018, Final Office Action, Jul. 10, 2020. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,700, filed Oct. 26, 2020, Final Rejection, Jan. 18, 2023. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,698, filed Oct. 26, 2020, Notice of Allowance and Fees Due, Dec. 28, 2022. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,698, filed Oct. 26, 2020, Notice of Allowance and Fees Due, Sep. 14, 2022. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,698, filed Oct. 26, 2020, Non-Final Rejection, Dec. 24, 2021. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,698, filed Oct. 26, 2020, Final Rejection, May 18, 2022. [cited by applicant]
Dwars, U.S. Appl. No. 16/176,853, filed Oct. 31, 2018, Notice Allowance, Jun. 2, 2020. [cited by applicant]
Arnaboldi, U.S. Appl. No. 16/747,827, filed Jan. 21, 2020, Office Action, Apr. 21, 2021. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,700, filed Oct. 26, 2020, Non-Final Rejection, May 25, 2023. [cited by applicant]
Kapp, U.S. Appl. No. 17/585,146, filed Jan. 26, 2022, Non-Final Rejection, Mar. 31, 2023. [cited by applicant]
Sevenich, U.S. Appl. No. 15/666,310, filed Aug. 1, 2017, Notice of Allowance, Oct. 28, 2019. [cited by applicant]
Sevenich, U.S. Appl. No. 14/969,231, filed Dec. 15, 2015, Office Action, Sep. 8, 2017. [cited by applicant]
Sevenich, U.S. Appl. No. 14/969,231, filed Dec. 15, 2015, Notice of Allowance, Jan. 11, 2018. [cited by applicant]
Segalini, U.S. Appl. No. 17/162,527, filed Jan. 29, 2021, Notice of Allowance and Fees Due, Aug. 5, 2022. [cited by applicant]
Segalini, U.S. Appl. No. 17/162,527, filed Jan. 29, 2021, Non-Final Rejection, Mar. 17, 2022. [cited by applicant]
Segalini et al., U.S. Appl. No. 17/162,527, filed Jan. 29, 2021, Notice of Allowance and Fees Due, Jun. 24, 2022. [cited by applicant]
Haprian, U.S. Appl. No. 17/080,719, filed Oct. 26, 2020, Notice of Allowance and Fees Due, Aug. 11, 2022. [cited by applicant]
Kapp, U.S. Appl. No. 17/585,146, filed Jan. 26, 2022, Notice of Allowance and Fees Due, Feb. 22, 2024. [cited by applicant]
Sevenich, U.S. Appl. No. 15/666,310, filed Aug. 1, 2017, Office Action, May 29, 2019. [cited by applicant]
Kapp, U.S. Appl. No. 17/585,146, filed Jan. 26, 2022, Final Rejection, Oct. 12, 2023. [cited by applicant]
Kapp, U.S. Appl. No. 17/585,146, filed Jan. 26, 2022, Advisory Action, Dec. 4, 2023. [cited by applicant]
Kapp, U.S. Appl. No. 17/584,262, filed Jan. 25, 2022, Notice of Allowance and Fees Due, Oct. 12, 2023. [cited by applicant]
Kapp, U.S. Appl. No. 17/584,262, filed Jan. 25, 2022, Non-Final Rejection, Jun. 23, 2023. [cited by applicant]
Kandukuri, U.S. Appl. No. 15/971,664, filed May 4, 2018, Notice of Allowance, Jan. 14, 2021. [cited by applicant]
Kandukuri, U.S. Appl. No. 15/971,664, filed May 4, 2018, Notice of Allowance, Sep. 8, 2020. [cited by applicant]
Kandukuri, U.S. Appl. No. 15/971,664, filed May 4, 2018, Office Action, Apr. 6, 2020. [cited by applicant]
Kapp, U.S. Appl. No. 17/585,146, filed Jan. 26, 2022, Notice of Allowance and Fees Due, Mar. 13, 2024. [cited by applicant]
Freeman, Eve, “Getting Started with Neo4j and Cypher”, https://www.airpair.com/neo4j/posts/getting-started-with-neo4j-and-cypher, dated Oct. 2016, 12 pages. [cited by applicant]
“SAP HANA Graph Reference”, SAP HANA Platform 2.0 SPS 04 Document Version: 1.1 dated Oct. 31, 2019, SAP.com, 86 pages. [cited by applicant]
Liu et al., “iBFS: Concurrent Breadth-First Search on GPUs”, SIGMOD'16, Jun. 26-Jul. 1, 2016, San Francisco, CA, USA, 14 pages. [cited by applicant]
Jindal, Alekh et al. “Graph Analytics Using Vertica Relational Database”, 2015 IEEE Intl Conf on Big Data (Big Data), Santa Clara, CA, pp. 1191-1200, doi: 10.1109/BigData.2015.7363873, Oct. 2015, 14pgs. [cited by applicant]
IBM Knowledge Center, “Row ID Values”, https://www.ibm.com/support/knowledgecenter/en/SSEPEK_11.0.0/sqlref/src/tpc/db2z_rowidvalues.html, dated Nov. 20, 2019, 3 pages. [cited by applicant]
Hong et al., “PGX.D: A Fast Distributed Graph Processing Engine”, SC '15, dated Nov. 15-20, 2015, Austin, TX, USA, 12 pages. [cited by applicant]
Hong et al., “Green-Marl: A DSL for Easy and Efficient Graph Analysis”, ASPLOS'12 Mar. 3-7, 2012, London, England, UK, 14 pages. [cited by applicant]
Holsch et al., “An Algebra and Equivalences to Transform Graph Patterns in Neo4j”, available: http://ceur-ws.org/Vol-1558/paper24.pdf. [cited by applicant]
Hassan, Mohamed S., et al., “Empowering In-Memory Relational Database Engines with Native Graph Processing”, arXiv:1709.06715v2, Oct. 12, 2017, 15pgs. [cited by applicant]
Hassan, “Extending In-Memory Relational Database Engines with Native Graph Support”, Published in Proceedings of the 21st International Conference on EDBT, https://openproceedings.org/2018/conf/edbt/paper-17.pdf, dated … [cited by applicant]
Hassan Chafi et al., “ManagingtheProliferationProblem”, OracleLabsperspectiveonlanguage-integratedquerying & data analytics, dated Feb. 2017, 23 pages. [cited by applicant]
Harshvardhan et al., “KLA: A New Algorithmic Paradigm for Parallel Graph Computations” dated 2014, 23d International Conference on Parallel Architecture and Compliation Techniques, dated 2014, 12 pgs. [cited by applicant]
Microsoft Docs, “Graph processing with SQL Server and Azure SQL Database”,docs.microsoft.com/en-us/sql/relational databases/graphs/sql-graph-overview?view=sql-server-ver15, dated Jun. 26, 2019, 5 pgs. [cited by applicant]
Fu et al., “Parallel Breadth First Search on GPU Clusters”, dated 2014, IEEE, dated 2014, pp. 110-118. [cited by applicant]
Microsoft.com, “SQL Server 2019” https://www.microsoft.com/en-us/sql-server/sql-server-2019, last viewed on Jan. 29, 2021, 8 pages. [cited by applicant]
Flores et al., “Semantic Data Management in Graph Databases”, Tutorial at ESWC 2014-, dated 2014, 153 pages. [cited by applicant]
Deutsch et al., “TigerGraph: A Native MPP Graph Database”, Jan. 24, 2019, 28 pages. [cited by applicant]
Databricks, “Graph Analysis Tutorial with GraphFrames”, dated Jul. 21, 2020, https://docs.databricks.com/spark/latest/graph-analysis/graphframes/graph-analysis-tutorial.html, 2 pages. [cited by applicant]
Berry et al., “Software and Algorithms for Graph Queries on Multithreaded Architectures”, dated 2007, IEEE, pp. 1-14. [cited by applicant]
Benzaken et al, “Language-Integrated Queries: a BOLDR Approach”, WWW 2018, Lyon, France, Apr. 23-27, 2018. [cited by applicant]
Beamer et al., “Distributed Memory Breadth-First Search Revisited: Enabling Bottom-Up Search”, IEEE, dated 2013 pp. 1618-1627. [cited by applicant]
Attia et al., “CyGraph: A Reconfgurable Architecture for Parallel Breadth-First Search”, dated 2014 IEEE International Parallel & Distributed Processing Symposium Workshops, dated 2014, pp. 228-235. [cited by applicant]
Apache TinkerPop, “The Gremlin Graph Traversal Machine and Language”, tinkerpop.apache.org/gremlin.html, last viewed on Nov. 4, 2020, 6 pages. [cited by applicant]
Annamalai et al., “PGQL Introduction and Deep Dive”, Product Management, Oracle, Jul. 30, 2020, 45 pages. [cited by applicant]
An Oracle White Paper, “Unleash the Power of Java Stored Procedures”, Dated Jun. 2002, 20 pages. [cited by applicant]
Amazon Neptune, “Overview” https://aws.amazon.com/neptune/, last viewed on Nov. 4, 2020, 20 pages. [cited by applicant]
Adam et al., “A Comparison of List Schedules for Parallel Processing Systems”, Communications of the ACM 17(12):685-690, Dec. 1974, pp. 685-690. [cited by applicant]
Graph Query Language GQL, “GQL Standard”, https://www.gqlstandards.org/home, last viewed on Jan. 29, 2021, 2 pages. [cited by applicant]
Shang et al., “Catch the Wind: Graph Workload Balancing on Cloud”, dated 2013 IEEE 29th International Conference on Data Engineering, dated 2013, pp. 553-564. [cited by applicant]
Yoo et al., “A Scalable Distributed Parallel Breadth-First Search Algorithm on BlueGene/L”, SC 2005 ACM/IEE, pp. 25-25. [cited by applicant]
Wikipedia, the free encyclopedia, “Subgraph isomorphism problem”, https://en.wikipedia.org/wiki/Subgraph_isomorphism_problem, last viewed on Jan. 29, 2021, 4 pages. [cited by applicant]
Wikipedia, the free encyclopedia, “PageRank”, https://en.wikipedia.org/wiki/PageRank, last viewed on Jan. 29, 2021, 16 pages. [cited by applicant]
Wikipedia, the free encyclopedia, “Isolation (database systems)”, https://en.wikipedia.org/wiki/Isolation_(database_systems), last viewed on Jan. 29, 2021, 8 pages. [cited by applicant]
Wikipedia, the free encyclopedia, “Fetch-and-add”, https://en.wikipedia.org/wiki/Fetch-and-add, last viewed on Jan. 29, 2021, 4 pages. [cited by applicant]
Wikipedia, the free encyclopedia, “Bellman-Ford algorithm”, https://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm, last viewed on Jan. 29, 2021, 6 pages. [cited by applicant]
Wheatman et al., “Packed Compressed Sparse Row: A Dynamic Graph Representation”, Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology, https://ieeexplore.ieee.org/abstract/docume… [cited by applicant]
Wagner et al., “Language Integrated Query (LINQ)”, available: https://learn.microsoft.com/en-us/dotnet/csharp/linq/, Dec. 15, 2023. [cited by applicant]
Valiyev, Mahammad, “Graph Storage: How Good is CSR Really?”, https://github.com/mehemmedv/DB_Imp_Seminar, dated Dec. 10, 2017, 8 pages. [cited by applicant]
TigerGraph, “The Only Scalable Graph Database for the Enterprise”, https://www.tigergraph.com/, last viewed on Nov. 4, 2020, 9 pages. [cited by applicant]
Tian et al., “IBM Db2 Graph: Supporting Synergistic and Retrofittable Graph Queries Inside IBM Db2”, SIGMOD '20: Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data, Jun. 2020, 15 pages. [cited by applicant]
Michaels, Jan, “Property Graph Data Model—The Proposal”, Individual Expert Contribution, dated Jan. 16, 2019, 76 pages. [cited by applicant]
Sparsity Technologies, “Sparksee User Manual”, API, http://www.sparsity-technologies.com/UserManual/API.html, 61 pages, dated 2015. [cited by applicant]
Zemke, Fred, “Fixed Graph Patterns”, ISO/IEC SC32/WG3:ERF-035, dated Sep. 14, 2018, 25 pages. [cited by applicant]
Segalini et al., “Patent: efficient identification of vertices and edges for graph indexes in an RDBMS”, dated Nov. 2015, 12 pages. [cited by applicant]
SAP.com, “SAP HANA”, Harness the power of an in-memory database with SAP HANA, SAP Business Technology Platform, https://www.sap.com/products/hana.html, last viewed on Jan. 29, 2021, 19 pages. [cited by applicant]
SAP.com, “SAP HANA Graph Reference”, SAP HANA Platform 2.0 SPS 03 Document Version: 1.1 dated Oct. 31, 2018, 84 pages. [cited by applicant]
SAP HANA, “Graph Workspaces,” https://help.sap.com/viewer/f381aa9c4b99457fb3c6b53a2fd29c02/2.0.03/en-US, 1pg. [cited by applicant]
PGQL, “Property Graph Query Language”, http://pgql-lang.org/, last viewed on Nov. 3, 2020, 5 pages. [cited by applicant]
Padmanabhan, “HDB-Subdue, A Relational Database Approach to Graph Mining and Hierarchical Reduction”, Dec. 2005, 99 pages. [cited by applicant]
Oracle Help Center, “ROWID Pseudocolumn”, Database SQL Reference, https://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns008.htm, dated Nov. 20, 2019, 2 pages. [cited by applicant]
Oracle Database MLE Documentation, http://www.oracle.com/technetwork/database/multilingual-engine/documentation/index.html, dated 2017, 2 pages. [cited by applicant]
Oracle Database MLE 0.2.7, Oracle Database Multingual Engine (MLE), https://oracle.github.io/oracle-db-mle/releases/0.2.7/, dated 2017, 5 pages. [cited by applicant]
Ong et al., The SQL++ Query Language: Configurable, Unifying and Semi-structured, available: https://arxiv.org/abs/1405.3631, Dec. 14, 2015. [cited by applicant]
Neo4j Graph Platform, “What is Neo4j?”, https://neo4j.com/, last viewed on Nov. 4, 2020, 14 pages. [cited by applicant]
Neo4j Graph Database Platform, “Cypher Query Language”, https://neo4j.com/developer/cypher/, dated Nov. 4, 2020, 7 pages. [cited by applicant]
Stoica, Radu-Alexandru, “R2PG-DM: A Directly Mapping Relational Databases to Property Graphs”, diss. Master's thesis, Eindhoven Univ. of Technology 2019, https://ceur-ws.org/Vol-2369/short06.pdf, Jul. 2019, 24pgs. [cited by applicant]