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:
- Added support for creating property graph SQL-schema object in Oracle
Database.
See Introduction to SQL Property Graphs for more information.
- Added support for running graph queries on SQL property graphs.
See SQL GRAPH_TABLE Queries for more information.
- Added support for running PGQL SELECT queries against SQL property
graphs.
See Executing PGQL Queries Against SQL Property Graphs for more information.
- Added support for visualizing SQL
GRAPH_TABLE
queries on graphs in the database.See Visualizing Graph Queries on SQL Property Graphs for more information.
Significant New Features in Oracle Graph Server and Client 23.1 (Applies for 23ai and Prior Oracle Database Releases)
- Added support to create property graph views by importing graph data from a GraphSON
file.
See Creating a PG View By Importing a GraphSON file for more information.
- Added support for explicitly specifying the schema name when:
- Loading a property graph view into the graph server (PGX) using the
readGraphByName
API.See Specifying the Schema Name for the readGraphByName API for more information.
- Loading a subgraph into memory in the graph server (PGX).
See Loading a Subgraph by Explicitly Specifying the Schema Name for more information.
- Expanding an in-memory subgraph .
See Expanding a Subgraph by Explicitly Specifying the Schema Name for more information.
- Loading a property graph view into the graph server (PGX) using the
- Added a new release artifact,
oracle-graph-visualization-library-23.1.0.zip
, to the Oracle Graph Server and Client deployment. This contains a JavaScript library for the Graph Visualization interface which you can embed in your web application.See Embedding the Graph Visualization Library in a Web Application for more information.
- Enhanced the graph server (PGX)
ServerInstance#getServerState
API to provide the session user information.See Get Inspection Data for more information.
- Added v2 for the Graph Visualization
GET /graphs
REST endpoint.See List Graphs for more information.
- Added support for Supervised EdgeWise graph algorithm in the PgxML
Library.
See Using the Supervised EdgeWise Algorithm (Edge Embeddings and Classification) for more information.
- Added support for regression tasks on Supervised GraphWise Models.
See Classification Versus Regression Models on Supervised GraphWise Models for more information.
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 thepgx.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)
andPgqlViewGraphExpander.owner(String)
are deprecated. Instead, usePgqlViewGraphExpander.fromPgView(String, String)
. - Graph Server (PGX) Configuration Fields
The graph server configuration fields,
server_cert
andserver_private_key
are deprecated. Instead, useserver_keystore
. - PyPGX
- The following attributes on
Operation
are now deprecated:graph_id
,operation_type
,cost_estimate
,total_cost_estimate
,cardinality_estimate
,pattern_info
, andchildren
. Instead, use the corresponding getter methods, such asget_graph_id()
,get_operation_type()
, and so on. - The
pgx_version
attribute inServerInstance
class is deprecated. Instead, useget_version()
. - The attribute
pg_view_name
inPartitionedGraphConfig
is deprecated. Instead, usesource_name
andsource_type
(set topg_view
). set_standarize
inGraphWiseModelConfig
is deprecated. Instead, useset_standardize
.- The return value of
PgqlResultSet.get_vertex_labels
may or may not be a list.
- The following attributes on
- Subgraph Loading
Creating Subgraphs using filter expressions is deprecated. Instead, use Loading a Subgraph from Property Graph Views.
- PgxML:
inferAndGetExplanation
FunctionGraphWiseModel.inferAndGetExplanation()
is deprecated. Instead, useGraphWiseModel.gnnExplainer()
to obtain aGnnExplainer
object for the model and useGnnExplainer.inferAndExplain()
. Pg2vecModelBuilder.setUseGraphletSize(java.lang.Boolean useGraphletSize)
method inoracle.pgx.api.mllib
API is deprecated. Instead, use thePg2vecModelBuilder.setUseGraphletSize(boolean useGraphletSize)
method.- PgxML:
SupervisedGraphWiseModelBuilder.setLossFunction
FunctionSupervisedGraphWiseModelBuilder.setLossFunction(SupervisedGraphWiseModelConfig.LossFunction ...)
is deprecated. Instead, useSupervisedGraphWiseModelBuilder.setLossFunction(LossFunction ...)
function. - 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;
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, 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 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.