GQL data types

Graph Query Language (GQL) supports all GoogleSQL data types, including the following GQL-specific data type:

Graph data types list

Name Summary
Graph element type An element in a property graph.
SQL type name: GRAPH_ELEMENT
Graph path type A path in a property graph.
SQL type name: GRAPH_PATH

Graph element type

Name Description
GRAPH_ELEMENT An element in a property graph.

A variable with a GRAPH_ELEMENT type is produced by a graph query. The generated type has this format:

GRAPH_ELEMENT<T>

A graph element is either a node or an edge, representing data from a matching node or edge table based on its label. Each graph element holds a set of properties that can be accessed with a case-insensitive name, similar to fields of a struct.

Graph elements with dynamic properties enabled can store properties beyond those defined in the schema. A schema change isn't needed to manage dynamic properties because the property names and values are based on the input column's values. You can access dynamic properties with their names in the same way as defined properties. For information about how to model dynamic properties, see dynamic properties definition.

If a property isn't defined in the schema, accessing it through the field-access-operator returns the JSON type if the dynamic property exists, or NULL if the property doesn't exist.

Example

In the following example, n represents a graph element in the FinGraph property graph:

GRAPH FinGraph
MATCH (n:Person)
RETURN n.name

Graph path type

Name Description
GRAPH_PATH A path in a property graph.

The graph path data type represents a sequence of nodes interleaved with edges and has this format:

GRAPH_PATH<NODE_TYPE, EDGE_TYPE>

You can construct a graph path with the PATH function or when you create a path variable in a graph pattern.