A Autonomous Database Graph PGX API Limitations
The following features and APIs of the graph server available in our
on-premises offering (Oracle Graph Server and Client) are not available
in the managed cloud service when being invoked from within %java-pgx
or
%python-pgx
paragraphs.
Using any of these APIs will result either in errors being returned upon invocation or in not achieving the desired behavior.
Reference information about these on-premises APIs is included in the Oracle Database documentation library. For Oracle Database Release 21c, refer to:
- Oracle Graph Java API Reference for Property Graph: See Javadoc for more information.
- Oracle Graph Python API Reference for Property Graph: See Python API Reference for more information.
Manage the server state
All APIs that PGX offers to manage the server state are not available. This
includes most of the methods available on the ServerInstance
object. The
following example lists a few administrative APIs that are not supported:
ServerInstance#getServerState()
ServerInstance#killSession()
ServerInstance#shutdownEngine()
ServerInstance.get_server_state()
ServerInstance.kill_session()
ServerInstance.shutdown_engine()
Instead, use the capabilities available in Graph Studio to manage the execution environment.
Read graphs
APIs to read a graph directly from files or any other input sources are not available. For example:
PgxSession#readGraphWithProperties
and similar methodsPgxSession#readGraphFiles
and similar methods
PgxSession.read_graph_with_properties()
and similar methodsPgxSession.read_graph_files()
and similar methods
Instead, import the data you want to analyze as a graph into the Autonomous Database using any of the available data import capabilities such as DBMS_CLOUD, SQL Developer Web, or Oracle Data Integrator. After the data is in the Autonomous Database, use Graph Studio to convert the data into a graph or import it as a graph. Only graphs managed and loaded into memory by Graph Studio can be accessed using PGX APIs.
Grant In-memory Graph Permissions to Other Users
APIs to grant permissions on in-memory graphs to other users are not available For example:
PgxGraph#grantPermission()
and similar methods
PgxGraph.grant_permission()
and similar methods
Instead, you can share graphs with other users through corresponding GRANT statements in the Autonomous Database. You can also conveniently share graphs with other users using the Share capability available in Graph Studio.
Export graphs
APIs to write in-memory graphs to the local file system are not available:
PgxGraph#store()
PgxGraph.store()
User defined functions (UDFs)
The ability to define and invoke UDFs is not available.
Changing the execution environment
Modifying the execution environment of the current session as shown in the following example is not supported.
PgxSession#getExecutionEnvironment()
PgxSession.get_execution_environment()