PGX 2.3.1

What is New in PGX 2.3

Query Language (PGQL) Enhancements

  • Arithmetic expressions in SELECT, ORDER BY, GROUP BY: previously, arithmetic expressions were only allowed in the WHERE clause while the SELECT, GROUP BY and ORDER BY clauses only allowed basic expression. Now, all the clauses have full support for arithmetic expressions.
  • MIN, MAX and COUNT aggregates in PGQL now work with String values

See our graph pattern matching tutorial

Zeppelin Interpreter Improvements

  • Output pretty-printing
  • Compatibility with Zeppelin 1.6.1
  • Cancellation and timeout support for shell commands
  • Pretty printing of PGQL error messages with underlining of problematic text
  • Collapsed-by-default, pretty-printed stack traces


See our Zeppelin installation tutorial

Spark Integration Improvements

PGX can now write data back into Spark data structures. See our Spark tutorial

PGX Shell Syntax Improvements

Arguments to Java methods (such as on the analyst built-in object) can now be either done in the traditional way - someMethod(param1, param2), in parameterized form - someMethod(graph : var1, vertex : var2), or as of PGX 2.3, in *abbreviated parameterizd form* -someMethod(g : var1, v : var2)`. For example:

analyst.whomToFollow(g: g, v: g.pickRandomVertex(), maxIt: 100, sDF: 0.85, sMD: 0.01)

Find more PGX shell in features in the PGX Shell reference.

Introducing the Enterprise Scheduler

  • Added an enterprise scheduler, used by default, to manage:
    • Concurrent execution of tasks from multiple sessions
    • Detailed configuration for thread pools with pool weight, priority and maximum number of threads
    • Dynamically sizing the I/O thread pool
    • Detailed, per task settings for each thread pool

Manipulation API Improvements

Loading, undirecting and simplifying graphs now include:

  • Filtering graphs during loading
  • Simplifying and undirecting graphs now can
  • Use a MutationStrategy to choose or merge properties
  • Use edge reduction strategies

See the Mutation API reference.

Loading from files in parallel

PGX can now read from multiple files in Adjacency List or Edge List format in parallel. See the graph configuration reference and the plain text formats reference.

Other Changes

Other changes include:

  • Performance improvements that further parallelize graph loading, improve memory allocation, partition creation and iteration
  • Pagerank algoritm now suports normalization
  • Distributed runtime now also supports Weighted Pagerank and Personalized SALSA algorithms

Find the full list in the changelog.