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 Oracle Graph Server and Client Installation), and is released four times a year.

New Features

Significant New Features in Oracle Graph Server and Client 23.1 That Work With Oracle Database 23ai

Oracle Graph Server and Client Release 23.1 works with the following property graph features of Oracle Database 23ai:

Significant New Features in Oracle Graph Server and Client 23.1 (Applies for 23ai and Prior Oracle Database Releases)

Deprecated Features

  • GraphServer#getInstance API

    The following GraphServer#getInstance APIs are deprecated:

    • GraphServer.getInstance(ClientConfig clientConfig, String username, char[] password, int refreshTimeBeforeTokenExpiry)
    • GraphServer.getInstance(String baseUrl, String username, char[] password, int refreshTimeBeforeTokenExpiry)
    • GraphServer.getInstance(String baseUrl, String kerberosTicketPath, int refreshTimeBeforeTokenExpiry)

    Instead, configure the refresh_time_before_token_expiry_seconds parameter in the pgx.conf file.

  • opg_apis.get_version()

    The OPG_APIS.GET_VERSION() function is deprecated and will be desupported in a future release. Instead, use OPG_APIS.GET_OPG_VERSION.

  • Apache HDFS support for Cloudera CDH6

    Support for Apache HDFS on Cloudera CDH6 is deprecated.

  • Methods deprecated for PgqlViewGraphExpander

    PgqlViewGraphExpander.schema(String) and PgqlViewGraphExpander.owner(String) are deprecated. Instead, use PgqlViewGraphExpander.fromPgView(String, String).

  • Graph Server (PGX) Configuration Fields

    The graph server configuration fields, server_cert and server_private_key are deprecated. Instead, use server_keystore.

  • PyPGX
    • The following attributes on Operation are now deprecated: graph_id, operation_type, cost_estimate, total_cost_estimate, cardinality_estimate, pattern_info, and children. Instead, use the corresponding getter methods, such as get_graph_id(), get_operation_type(), and so on.
    • The pgx_version attribute in ServerInstance class is deprecated. Instead, use get_version().
    • The attribute pg_view_name in PartitionedGraphConfig is deprecated. Instead, use source_name and source_type (set to pg_view).
    • set_standarize in GraphWiseModelConfig is deprecated. Instead, use set_standardize.
    • The return value of PgqlResultSet.get_vertex_labels may or may not be a list.
  • Subgraph Loading

    Creating Subgraphs using filter expressions is deprecated. Instead, use Loading a Subgraph from Property Graph Views.

  • PgxML: inferAndGetExplanation Function

    GraphWiseModel.inferAndGetExplanation() is deprecated. Instead, use GraphWiseModel.gnnExplainer() to obtain a GnnExplainer object for the model and use GnnExplainer.inferAndExplain().

  • Pg2vecModelBuilder.setUseGraphletSize(java.lang.Boolean useGraphletSize) method in oracle.pgx.api.mllib API is deprecated. Instead, use the Pg2vecModelBuilder.setUseGraphletSize(boolean useGraphletSize) method.
  • PgxML: SupervisedGraphWiseModelBuilder.setLossFunction Function

    SupervisedGraphWiseModelBuilder.setLossFunction(SupervisedGraphWiseModelConfig.LossFunction ...) is deprecated. Instead, use SupervisedGraphWiseModelBuilder.setLossFunction(LossFunction ...) function.

  • 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;

Desupported Features

  • Groovy support for using the Java API in Apache Zeppelin client is desupported.
  • Oracle Linux 6 is desupported.
  • Oracle Text with property graph schema graphs is desupported.
  • Apache HBase is desupported.
  • Support for mixed case string arguments in PyPGX for cases where there are a fixed, enumerated list of possible values (such as, ['linear', 'tanh', 'relu']) are desupported. Only lower case arguments are now supported.
  • The two-table format is desupported.
  • The following Java API classes are desupported:
    • oracle.pg.rdbms.OraclePgqlColumnDescriptor.java
    • oracle.pg.rdbms.OraclePgqlColumnDescriptorImpl.java
    • oracle.pg.rdbms.OraclePgqlExecution.java
    • oracle.pg.rdbms.OraclePgqlExecutionFactory.java
    • oracle.pg.rdbms.OraclePgqlPreparedStatement.java
    • oracle.pg.rdbms.OraclePgqlResult.java
    • oracle.pg.rdbms.OraclePgqlResultElement.java
    • oracle.pg.rdbms.OraclePgqlResultElementImpl.java
    • oracle.pg.rdbms.OraclePgqlResultImpl.java
    • oracle.pg.rdbms.OraclePgqlResultIterable.java
    • oracle.pg.rdbms.OraclePgqlResultIteratorImpl.java
    • oracle.pg.rdbms.OraclePgqlResultSet.java
    • oracle.pg.rdbms.OraclePgqlResultSetImpl.java
    • oracle.pg.rdbms.OraclePgqlResultSetMetaData.java
    • oracle.pg.rdbms.OraclePgqlResultSetMetaDataImpl.java
    • oracle.pg.rdbms.OraclePgqlSqlTrans.java
    • oracle.pg.rdbms.OraclePgqlSqlTransImpl.java
    • oracle.pg.rdbms.OraclePgqlStatement.java
  • The following Java API methods, objects and fields in oracle.pgx.api are no longer supported:

    Desupported Methods:

    • PgxCollection methods:
      • addAllAsync(Collection<E> source)
      • removeAllAsync(Collection<E> source)
      • addAll(ID...ids)
      • removeAll(ID...ids)
    • PgqlResultSet methods:
      • getResults(): instead, use PgqlResultSet to directly iterate the result set
      • destroy()
    • User-defined pattern matching semantic methods:
      • PgxGraph#queryPgql(String, PatternMatchingSemantic): instead, use PgxGraph#queryPgql(String)
      • PgxSession.setPatternMatchingSemantic(..)
    • GraphMetaData constructors and related methods:
      • GraphMetaData()
      • GraphMetaData(GraphMetaData other, java.net.URI baseUri)
      • GraphMetaData(IdType vertexIdType)
      • GraphMetaData.setVertexIdType()
      • GraphMetaData.setEdgeIdType()
    • PgxSession#getAvailableSnapshots(GraphConfig): instead, use PgxSession#getAvailableSnapshots(PgxGraph)
    • All Analyst#filteredBfs and Analyst#filteredDfs methods that accepts filter parameter: instead, use the navigator parameter

    Desupported Objects

    • PgqlResult(a result of resultSet.getResults().iterator().next(): instead, use PgxResult as returned from resultSet.iterator().next()

    Desupported Fields

    • pattern_matching_semantic configuration field
  • The Java API method AbstractGraphConfigBuilder#setNodeIdType in oracle.pgx.config is desupported. Instead, use AbstractGraphConfigBuilder#setVertexIdType().
  • The following PyPGX classes are desupported in pypgx package. Instead, use pypgx.api.filters subpackage to access these classes:
    • EdgeFilter
    • GraphFilter
    • VertexFilter
  • The following PyPGX classes are desupported in pypgx.api package. Instead, use pypgx.api.frames subpackage to access these classes:

    • PgxCsvFrameReader
    • PgxCsvFrameStorer
    • PgxDbFrameReader
    • PgxDbFrameStorer
    • PgxFrame
    • PgxFrameBuilder
    • PgxFrameColumn
    • PgxGenericFrameReader
    • PgxGenericFrameStorer
    • PgxPgbFrameReader
    • PgxPgbFrameStorer
  • The following Python API packages are no longer supported:
    • common: This internal package is desupported. Few of the classes from this package are moved to the public package pypgx.api.
    • utils: This internal package is renamed to _utils.
  • Graph property text search based on Apache Solr/Lucene is desupported. Instead, use PGQL query expressions.
  • The PGX property type DATE is desupported. Instead, use LOCAL_DATE or TIMESTAMP.
  • Property Graph support for data stored in Oracle NoSQL Database is desupported.
  • Support for Gremlin Groovy shell is desupported.
  • Apache Tinkerpop API support for Oracle Database is desupported.
  • Loading data from flat file formats into the property graph schema is desupported.
  • Support for the Apache Groovy-based shell was deprecated in 19c and is now desupported.
  • Support for Apache HBase and Apache HDFS on Cloudera CDH5 is desupported.