Optional GQL features and analogous Cypher

This page lists optional GQL features that have analogous but not identical Cypher® features.

Optional GQL features are assigned a feature ID code. These codes order the features in the table below.

GQL Feature ID Description Comment and similar Cypher functionality

G100

ELEMENT_ID function

GQL’s ELEMENT_ID() function is equivalent to Cypher’s elementId() function.

GF04

Enhanced path functions

GQL’s PATH_LENGTH() function is equivalent to Cypher’s length() function.

GF10

Advanced aggregate functions: general set functions

  • GQL’s COLLECT_LIST() function is equivalent to Cypher’s collect() function.

  • GQL’s STDEV_SAMP() function is equivalent to Cypher’s stDev() function.

  • GQL’s STDEV_POP() function is equivalent to Cypher’s stDevP() function.

GF11

Advanced aggregate functions: binary set functions

  • GQL’s PERCENTILE_CONT() function is equivalent to Cypher’s percentileCont() function.

  • GQL’s PERCENTILE_DISC() function is equivalent to Cypher’s percentileDisc() function.

GQ08

FILTER statement

Selects a subset of the records of the current working table. Cypher uses WITH instead.

GQ09

LET statement

Adds columns to the current working table. Cypher uses WITH instead.

GQ10, GQ11, GQ23, GQ24

FOR statement: list value support, binding table support, WITH ORDINALITY, WITH OFFSET

Unnests a list or a binding table by expanding the current working table. Cypher uses UNWIND instead. Unlike the FOR statement, UNWIND does not support yielding indexes and offsets.

GV12

64-bit signed integer numbers

GQL’s SIGNED INTEGER64 (alternatively: INTEGER64, INT64) type is equivalent to Cypher’s INTEGER type.

GV23

Floating point type name synonyms

GQL’s DOUBLE type is equivalent to Cypher’s FLOAT type.

GV24

64-bit floating number

GQL’s FLOAT64 type is equivalent to Cypher’s FLOAT type.

GV45

Record types

GQL’s open RECORD type is equivalent to the MAP type in Cypher.