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. Can be a GRAPH_NODE or GRAPH_EDGE.
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.

Example

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

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

In the following example, the TYPEOF function is used to inspect the set of properties defined in the graph element type.

GRAPH graph_db.FinGraph
MATCH (n:Person)
RETURN TYPEOF(n) AS t
LIMIT 1

/*--------------------------------------------------------+
 | t                                                      |
 +--------------------------------------------------------+
 | GRAPH_NODE(myproject.graph_db.FinGraph)<id INT64, ...> |
 +--------------------------------------------------------*/

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>