The graph features of Oracle Database enables developers to store and navigate relationships between entities. Oracle provides support for both property and RDF knowledge graphs and simplifies the process of modeling relational data as graph structures. Interactive graph queries can run directly on graph data in the database or in a high-performance in-memory graph server. Oracle Graph Server and Client enables developers, analysts, and data scientists to use graphs within Oracle Database, while Graph Studio in Oracle Autonomous Database removes barriers to entry by automating complicated setup and management, making data integration seamless, and by providing step-by-step examples for getting started.
Oracle Graph Server and Client 23.2 is now available for download for use with databases in the Cloud (OCI Marketplace image is available) and for databases on-premises. This release includes a number of changes, including changes to the graph visualization app, updates to PGQL, and integrations of Oracle Graph with other services. The graph visualization app has been changed to more closely align with the SQL standard and support SQL property graphs, which are available through Oracle Database 23c Free – Developer Release. It also includes additional functionality through PGQL, and updates that closely align PGQL with the SQL standard. Lastly, Oracle Graph is now available through PyPi, and has enhanced integrations with SQL Developer and OCI Data Science. Learn more about these exciting changes below.
This release includes some changes to the Graph Visualization application. First, the drop-down to select a graph has been removed. Instead, the graph name needs to be given in the ON clause, in an effort to align with the SQL Standard. To see the list of available graphs, the drop-down has been replaced by a popover with a list of available graphs.
Oracle Database 23c Free – Developer Release, announced on April 3rd, includes support for SQL Property Graphs. The visualization application will detect if there are SQL Property Graphs available, and if there are, it will create a tab for SQL/PGQ queries. The application will also remember your preferred tab, for greater ease of use.
PGQL updates include support for querying along paths to allow for cycle avoidance. Each path mode (WALK, TRAIL, ACYCLIC, and SIMPLE) are different path modes and can be summarized as follows:
Path modes are syntactically placed after ALL, ANY, ANY SHORTEST, SHORTEST k, ALL SHORTEST and are optionally followed by a PATH or PATHS keyword. See the following example, which traverses the graph for paths from account 10039 back to itself without repeating vertices, except for the vertex for account 10039:
In this release, we added support for LATERAL subqueries to allow for passing the output rows of one query into another. For example, you can use ORDER BY / GROUP BY on top of another ORDER BY / GROUP BY.
Note: In release 23.2, FROM clauses may only contain a single LATERAL subquery or one or more MATCH clauses.
To align PGQL with the SQL:2023 standard, we added GRAPH_TABLE syntax for PGQL, which can be used even when querying graphs in Graph Server (PGX). For example, if we have a graph named “financial_transactions”, we can write a query as follows:
When PGQL queries contain one or more GRAPH_TABLE subqueries, you must use only associated syntax that is in the SQL standard. For example, MATCH (a:account) must be replaced with MATCH (a IS account) when using GRAPH_TABLE subqueries.
This release includes syntax variations that align with the SQL standard, including the following:
The PG objects (also known as PG schema) data format has been deprecated, and replaced with PG View and SQL Property Graph, starting in 23c. This deprecation includes any APIs to create, query, update, remove or interact in any other way with graphs stored in VT$ and EG$ tables. Additionally, OPTIONS (PG_SCHEMA) is no longer the default in PGQL CREATE PROPERTY GRAPH statements. The OPTIONS clause now needs to be explicitly specified every time a property graph is created using PGQL. For example:
Along with this release, we are excited to announce integrations with a few other services.
The Python Client is now available on PyPI.org. The Python Package Index (PyPI) is the official software repository for the Python community. This integration simplifies the installation for python users by making the client installation as simple as:
There have been improvements to the SQL Developer integration in SQL Developer 23.1. The graph integration with SQL Developer now has added support for multiple statements in a single PGQL worksheet, and a single statement can be highlighted to be executed.
The full Oracle Graph Python client has been added to OCI Data Science. While PyPGX has been available on OCI Data Science since version 21.4, this release adds the missing client components, including, the Graph Server client, the Oracle Graph client for Graph Studio in Autonomous Database, and PGQL on RDBMS library.
For more information, please visit our Property Graph documentation.
Product Manager for Oracle Spatial and Graph