GRAPH_ID_FROM_NODE_ID (Transact-SQL)

Applies to: SQL Server 2017 (14.x) and later Azure SQL Database Azure SQL Managed Instance

Returns the internal graph ID for a given node ID.

Syntax

GRAPH_ID_FROM_NODE_ID ( node_id )

Arguments

node_id

The character representation (JSON) for one of the below:

  • The $node_id pseudo-column for a node table.
  • The $from_id pseudo-column for an edge table.
  • The $to_id column for an edge table.

Return value

Returns the internal graph ID, which is a bigint.

Remarks

  • Owing to the performance overhead of parsing and validating the supplied character representation (JSON) of nodes, you should only use GRAPH_ID_FROM_NODE_ID where needed. In most cases, MATCH should be sufficient for queries over graph tables.
  • For GRAPH_ID_FROM_NODE_ID to return a value, the supplied character representation (JSON) must be valid and the named schema.table within the JSON, must be a valid node table.
  • If a graph ID is returned by the function, it's only guaranteed that it will be a valid integer. No checks are made whether the graph ID is present in the node table.
  • The data type and behavior of graph IDs are implementation specific details, and are subject to change. For example, you shouldn't assume that graph IDs in a given node table are sequential.

Examples

The following example returns the internal graph ID for the nodes in the Person node table.

SELECT GRAPH_ID_FROM_NODE_ID($node_id)
FROM Person;

Here are the results:

...
1764
1806
19051
...

See also