Changes in This Release for Oracle Spatial and Graph Property Graph Developer's Guide
This topic contains the following.
Changes in Oracle Database Release 18.1 for Property Graph Support
The following are changes in Oracle Spatial and Graph Property Graph Developer's Guide for Oracle Database Release 18.1.
- Support for Executing PGQL Queries Directly Against Oracle Database
- PGQL Enhancement: Finding Subgraph Instances
- Support for Collaborative Filtering with SQL-Based Property Graph Analytics
- New Algorithms for Release 18.1
- Node.js Client
- Apache Zeppelin Integration
- New Enterprise Scheduler
- Undirected Graphs Enhancements
- Support Dropped for Deploying In-Memory Analyst to Jetty
Support for Executing PGQL Queries Directly Against Oracle Database
You can use the oracle.pg.rdbms
Java package to directly query graph data stored in Oracle Database. For information, see Executing PGQL Queries Directly Against Oracle Database.
PGQL Enhancement: Finding Subgraph Instances
The PGQL graph query engine lets you find every subgraph instance that matches with the given query pattern in your graph data. For example, the following asks: "Find all (vertices) whom both Mario (vertex) and Luigi (vertex) like (edge) but is older (property) than Mario, by more than two years, and print their names and ages (property)."
SELECE person.name, person.age
WHERE
(m WITH name = 'Mario') -[WITH label = 'likes']-> (person),
(l WITH name = 'Luigi') -[WITH label = 'likes']-> (person),
person.age < m.age - 2
ORDER BY person.name
Support for Collaborative Filtering with SQL-Based Property Graph Analytics
You can perform collaborative filtering using SQL-based property graph analytics. For information, see SQL-Based Property Graph Analytics, especially Collaborative Filtering Overview and Examples.
New Algorithms for Release 18.1
The following new algorithms are available:
-
Approximate Pagerank - a faster variant of Pagerank that can be used when less precision is acceptable.
-
Weighted Pagerank - Pagerank that considers edge weights.
-
Personalized SALSA - evaluates the relative importance of nodes with respect to a given set of hub nodes.
-
K-Core - computes k-core decomposition of a graph. Can be used to analyze hierarchical structures in a graph by revealing subgraphs with particular properties. It can also help to visualize large graphs in 2D by using the "layers" provided by the k-cores.
-
Diameter, Radius, and Eccentricity - basic structural graph properties that are useful for understanding distances in a graph.
-
PRIM - classic algorithm that finds the minimum spanning tree of an undirected graph.
For information about the algorithms, see Oracle Spatial and Graph Property Graph Java API Reference.
Node.js Client
A PGX client implementation in Node.js
lets you develop graph applications on top of PGX in Node.js
.
For more information, see the PGX Node.js
client API reference (JSDoc) at: https://docs.oracle.com/cd/E56133_01/2.5.0/jsdocs/index.html
Apache Zeppelin Integration
The PGX client and shell are integrated into Apache Zeppelin. For information, see Using the In-Memory Analyst Zeppelin Interpreter with Oracle Database
New Enterprise Scheduler
A new execution and scheduler back end to PGX allows for following:
-
Concurrent execution of tasks from multiple sessions
-
More detailed configuration for thread pools with pool weight, priority and maximum number of threads
-
Dynamically sized IO thread pool
-
Detailed, per task settings for each thread pool
For a tutorial about advanced task scheduling using execution environments, see: https://docs.oracle.com/cd/E56133_01/latest/tutorials/execution_environment.html
Undirected Graphs Enhancements
Native support for undirected graphs. New APIs also increase flexibility when creating a simplified or undirected version of an existing graph by introducing strategies for reducing edges and edge properties. It is now possible to merge or pick the edge properties of multi-edges.