PGX 2.6.1

What is New in PGX 2.6

PGQL 1.1

Pgx 2.6 introduces support for PGQL 1.1 (see the specification at this page). PGQL 1.1 introduces several novelties:

  • Introduced a FROM clause for specifying an input graph.
  • The FROM clause is optional in PgxGraph#queryPgql(String), PgxGraph#preparePgql(String) and PgxGraph#explainPgql(String)
  • The FROM clause is mandatory in PgxSession#queryPgql(String), PgxSession#preparePgql(String) and PgxSession#explainPgql(String)
  • The WHERE clause from PGQL 1.0 has been split up into a MATCH clause and a WHERE clause.
  • The MATCH clause contains the graph pattern (vertices, edges and paths) while the WHERE clause in PGQL 1.1 contains only the filter predicates.
  • Common path expressions now have an optional WHERE clause for specifying filter expressions (e.g. PATH connects_to AS () -[e]-> () WHERE e.status = 'OPEN' SELECT * MATCH ...).
  • Inlined filter predicates through WITH ... have been removed.
  • OO-style function-call syntax (e.g. x.label() or has been replaced by functional-style syntax (e.g. label(x) or id(x)).
  • Added support for EXISTS and NOT EXISTS sub-queries

Additionally, PGX 2.6 ships various improvements to PGQL 1.0, which is still supported (although deprecated); you can find more details in the changelog.

Other Notable Changes

All the changes and fixes shipping with PGX 2.6 are listed in the changelog, here are some highlights:

  • It is now possible to export a graph into multiple files, see documentation for more details.
  • PGX.D (PGX's distributed, scale-out runtime) now supports loading graphs with edge labels.
  • A new community-detection algorithm is available as a built-in: Infomap.