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

Cypher provides the path_length() function, which is an alias to Cypher’s length() function

GF07

Temporal duration functions

Cypher provides the GQL naming alias duration_between() function, which is an alias to Cypher’s duration.between().. In GQL, if either argument is not a temporal instant type, a data exception is raised (22G03). In Cypher, a different error (e.g. invalid call signature) may be reported, but with the same severity. Cypher returns the date difference in years, months, and days; GQL returns the date difference in days only. For the same interval the results can therefore differ (e.g. P1M1D in Cypher vs P29D in GQL for 2026-02-01 to 2026-03-02).

GF10

Advanced aggregate functions: general set functions

GF11

Advanced aggregate functions: binary set functions

GQ11, GQ23, GQ24

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

GQL extends the FOR statement with ordinality, offset, and binding table sources. Cypher does not implement these optional GQL forms. For list unnesting, as of Neo4j 2026.04, Cypher provides FOR variable IN expression (feature GQ10) and UNWIND expression AS variable, which are equivalent for plain lists but do not support WITH ORDINALITY, WITH OFFSET, or FOR over a binding table reference.

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.