
There are several exciting updates we describe in this blog post. A notable one is you can now import data from a Neo4J graph into a SQL property graph in Oracle!
SQL Property Graph (Oracle Database 23ai, Release Update 23.9)
SQL support for property graphs in Oracle Database 23ai is now widely available in Oracle Cloud Infrastructure (OCI) and through solutions offered in partner cloud services at Oracle Database@Azure, Oracle Database@Google Cloud, and Oracle Database@AWS (currently in preview), giving you many options to use Oracle Graph. Graphs are a native object in Oracle Database 23ai and can be created and queried using any SQL tool.
ONE ROW PER VERTEX/STEP with multiple path patterns
ONE ROW PER VERTEX/STEP support has been enhanced to allow the path pattern to have an optional path variable declaration.
Example:
Path 2 = (p2) –[e2 IS STUDENT_OF]-> (u IS UNIVERSITY)
Declaring the path pattern with the ONE ROW PER VERTEX/STEP syntax allows users to use an optional IN paths clause for specifying which paths to iterate over. For example: ONE ROW PER VERTEX (v) IN (path1). If the IN paths clause is omitted, then it will iterate over all paths. In such cases, either there must be a single path pattern specified, or all path patterns must have a variable declaration.
This also adds support for a new PATH_NAME() function in the COLUMNS clause, which returns the name of the path that is currently being iterated over. In this example: ONE ROW PER VERTEX (v) IN (path1), since we only iterate over path1, the function will always return PATH1.
Note: This function is to be used only when ONE ROW PER VERTEX/STEP is specified

IS LABELED and PROPERTY_EXISTS predicates
The following new predicates have been added:
- V1 is [NOT] LABELED person
- Returns TRUE/FALSE depending on whether the vertex has (or does not have) the given label
- PROPERTY_EXISTS(v1, <property_name>)
- Returns TRUE/FALSE depending on whether the vertex has a given property
- Note: this is different from v1.<property_name> IS NOT NULL which operates at the data level instead of the metadata level


Graph Tools (Released with Graph Server and Client 25.3)
Graph Visualization Extension for Visual Studio Code
Users can now visualize their SQL Property Graphs using Visual Studio Code. The integrated graph visualization in VS Code is available in the VS Code marketplace. This allows graph developers to visualize their graph results directly in their development environment, without downloading or connecting to any other visualization tool. See this blog post for details.
Note: This extension requires the SQL Developer Extension for VS Code

Graph Visualization Toolkit Updates
Display Size Replaces Pagination
The Graph Visualization Toolkit, and all tools that use the toolkit, such as Graph Studio, graph visualization dashboard, plugin for graph visualization in APEX, etc. have replaced pagination with display size. This update makes it easier to see all connections in your graph without running the risk of a “lost edge” which may occur when paginating the visualization results.
Display size can be controlled with the display size slider. By default, the first 100 elements of the graph are rendered (initial display size is configurable). To change the display size, click the many link, which opens the slider, allowing you to increase the display size. Increasing the display size dynamically fetches more elements and merges them with the elements on the screen.


Graph Visualization Dashboard Updates
Schema Visualization
Users can now visualize their Graph Schema, allowing them to see all nodes, labels and relationships in their graph, making it easier to reference the schema when writing queries. To access schema visualization, open the graphs page, and “Show Graph Schema” for the desired graph.

Unload Graph from Memory
Previous releases added support for loading graphs into Graph Server from the graph visualization dashboard. This release adds support for unloading graphs from memory as well. This avoids having to switch to a different UI and use Java or Python APIs to load and unload graphs from memory.
To unload a graph from memory, select the Graph Server tab, select the load icon, and unload the desired graph.

Table Result Only Run Button
This release adds a “table result only” run button. This allows users to assess the results of queries without rendering the visualization. This is especially helpful for debugging long running queries without the overhead of visualizing the results.

Legend Updates
Captions in legends now have a “pin” indicator. This easily identifies which legend entries are affected by the captions setting.
![]()
Previously, to edit a style, users needed to open the settings page, select the styles tab, and edit the desired style from there. This release simplifies style management by adding support to edit your visualization styles directly from the legend.
The pencil icon on the right side of the legend launches a pop up to edit the style.

PL/SQL Package to import data from Neo4j
New Oracle Graph users can now import their data from Neo4j using a PL/SQL package available for download from My Oracle Support. Using this package, users can get their Neo4J metadata as CSVs, export data from Neo4J based on the metadata, import data into Oracle Database, and create a SQL Property Graph.
Other notable updates
- Improved error messages for SQL Property Graphs
- Graph visualization
- Legends can now be reordered via drag and drop. Order matters if styles are applied, so the legend items at the bottom serve as a higher priority over the items under them.
- Rule based styles can now have additional overlay indicators
- Added optional “edit legend” callback
- SQL Graph visualization now supports VECTOR types
- New Settings
- Turn accessibility mode on/off
- Format numbers
- Ability to hide legend entries
For more information, please visit our Property Graph documentation and RDF Graph documentation.
