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 21.4
- Enhanced support for
GraphAlterationBuilder
API to add empty vertex or edge providers that are not linked to any datasource.See Adding Additional Empty Vertex or Edge Providers for more details.
- Added Oracle functions and user defined functions (UDFs) support in PGQL
queries for property graph views.
See PGQL Features Supported in Property Graph Views for more information.
- Enhanced user friendly error reporting based on graph metadata by the PGQL parser when validating PGQL queries executed against the graph server (PGX).
- Added
GNNExplainer
support to leverage Graph ML explainability for Unsupervised GraphWise models in PgxML Library.See Explaining a Prediction for an Unsupervised GraphWise Model for more information.
- Added support for custom loss functions and batch
generators for anomaly detection with Supervised GraphWise
models.
See Setting a Custom Loss Function and Batch Generator (for Anomaly Detection) for more information.
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 FunctionThe 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;
- OraclePgqlResultSet
The
oracle.pg.rdbms.OraclePgqlResultSet
interface was deprecated in 19c and will be removed in a future release. Instead, use the standardized interfaceoracle.pgql.lang.ResultSet
to retrieve values from a PGQL result set.
Desupported Features
- 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, usePgqlResultSet
to directly iterate the result setdestroy()
- User-defined pattern matching semantic methods:
PgxGraph#queryPgql(String, PatternMatchingSemantic)
: instead, usePgxGraph#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, usePgxSession#getAvailableSnapshots(PgxGraph)
- All
Analyst#filteredBfs
andAnalyst#filteredDfs
methods that acceptsfilter
parameter: instead, use thenavigator
parameter
Desupported Objects
PgqlResult
(a result ofresultSet.getResults().iterator().next()
: instead, usePgxResult
as returned fromresultSet.iterator().next()
Desupported Fields
pattern_matching_semantic
configuration field
- The Java API method
AbstractGraphConfigBuilder#setNodeIdType
inoracle.pgx.config
is desupported. Instead, useAbstractGraphConfigBuilder#setVertexIdType()
. - The following PyPGX classes are desupported in
pypgx
package. Instead, usepypgx.api.filters
subpackage to access these classes:EdgeFilter
GraphFilter
VertexFilter
-
The following PyPGX classes are desupported in
pypgx.api
package. Instead, usepypgx.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 packagepypgx.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.
- The two-table format is desupported.
- The 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.
- Apache Groovy-based shell was deprecated in 19c and is now desupported.
- Apache HBASE and Apache HDFS on Cloudera CDH5 is desupported.