Changes in This Release for This Guide

The following changes apply to property graph support that is shipped with Oracle Graph Server and Client.

Oracle Graph Server and Client is required for using the property graph feature of Oracle Database (see section 1.2), and is released four times a year.

New Features

Significant New Features in Oracle Graph Server and Client 21.1

Significant New Features in Oracle Graph Server and Client 20.4
  • Use CREATE PROPERTY GRAPH statement to create a graph from tables in the database and make it available in the in-memory graph server (PGX)
  • Python client for the in-memory graph server (PGX)
  • Zeppelin 0.9 (Zeppelin 0.8 is no longer supported)
  • Use database credentials to log into graph visualization tool

Significant new features in earlier Oracle Graph Server and Client releases include:

  • Graph Visualization tool: Lightweight, single-page web application to visualize graphs.
  • In-memory graph representation optimization for reduced memory usage and faster performance.
  • User-defined functions (UDFs), for creating custom graph algorithms and extending product graph algorithms with Java or JavaScript syntax.
  • Support for Autonomous Database.
  • Graph server authentication and authorization based on Oracle Database users and roles.
  • New Synchronizer API to keep partitioned graphs up-to-date with changes in the Oracle Database.
  • PGQL features:
    • Added a CREATE PROPERTY GRAPH statement to both PGQL on Oracle Database and PGQL on PGX for creating property graphs from existing tables
    • Added support for CHEAPEST and TOP k CHEAPEST path queries to PGQL on Graph Server (PGX).

      Note:

      This support does not apply for PGQL queries executed directly against graph in Oracle Database.
    • Implemented the PGQL 1.3 language specification, which can be found at https://pgql-lang.org/
    • Added support for INSERT, UPDATE, and DELETE queries
    • Added support for MATCH inside FROM, and optional ON clauses
    • Added support for case insensitivity
    • Added support for quoted identifiers
    • Added support for subqueries after GROUP BY
    • Added a PGQL plugin for SQLcl
    • New built-in algorithms:
      • Compute High Degree Vertices
      • Create Distance Index
      • Limited Shortest Path (Hop Distance)
      • All Reachable Vertices/Edges
      • Louvain (community detection)
      • Python client for PGX

Migrating Property Graph Applications to Oracle Database 21c

From Release 21c onwards, Oracle Graph Server and Client must be installed separately. It is recommended to remove the older property graph libraries from $ORACLE_HOME. See Uninstalling Previous Versions of Property Graph Libraries for more details.

Deprecated Features

  • PL/SQL API OPG_APIS.GET_SCN Function
    The PL/SQL API OPG_APIS.GET_SCN function is deprecated. Instead, to retrieve the current SCN (system change number), use the DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER function:
    SELECT dbms_flashback.get_system_change_number FROM DUAL;
  • Two-Table Support

    Support for the two-table format described in Handling Property Graphs Using a Two-Tables Schema was deprecated in 19c and will be removed in a future release.

  • Apache Tinkerpop API Support

    Apache Tinkerpop API support for Oracle Database was deprecated in 19c and is scheduled to be removed in a future release.

  • OraclePgqlResultSet

    The oracle.pg.rdbms.OraclePgqlResultSet interface was deprecated in 19c and will be removed in a future release. Instead, use the standardized interface oracle.pgql.lang.ResultSet to retrieve values from a PGQL result set.

Desupported Features

  • Graph property text search based on Apache Solr/Lucene is desupported. Instead, use Oracle Text or PGQL query expressions.
  • The PGX property type DATE is desupported. Instead, use LOCAL_DATE or TIMESTAMP.
  • Support for the Apache Groovy-based shell was deprecated in 19c and is now desupported.