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

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.

Support Dropped for Deploying In-Memory Analyst to Jetty

Deploying the in-memory analyst to Eclipse Jetty is no longer supported. Information related to Jetty support has been removed from this book.