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 22.2

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

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

  • 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
  • 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.
  • Support for Python 3.5 is desupported.
  • Support for the two-table format is desupported.
  • 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 Oracle Text or 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.