注
現在、この機能はパブリック プレビュー段階にあります。 機能と構文は、一般公開前に変更される場合があります。
graph関数は、cluster()、database()、external_table()、table()関数と同様に、永続化されたグラフ エンティティのクエリを有効にする組み込み関数です。 グラフの最新のスナップショット、特定のスナップショットの取得、またはモデルからの一時的なグラフの作成がサポートされています。
権限
この関数を実行するには、データベース ビューアーのアクセス許可が必要です。
構文
graph(
GraphName)
graph(
GraphName,SnapshotName)
graph(
GraphName,snapshot=SnapshotName)
graph(
GraphName,儚い)
パラメーター
| 名前 | タイプ | 必須 | 説明 |
|---|---|---|---|
| GraphName | string |
✔️ | クエリを実行する グラフ モデル の名前。 |
| SnapshotName | string |
取得する特定のスナップショットの名前。 指定しない場合は、最新のスナップショットが使用されます。 | |
| 一時的 | bool |
true場合は、モデルから一時的なグラフを作成します (スナップショットは使用されません)。
false場合は、最新のスナップショットを使用します (このパラメーターを省略する場合と同じです)。 |
返品ポリシー
graph関数はグラフを返し、グラフ演算子の後に続く必要があります。 この関数は、指定されたグラフ モデル名を次のように取得します。
- 最新のスナップショット (既定または
falseが指定されている場合) - 特定の名前付きスナップショット
- モデルからの一時的なグラフ (
trueが指定されている場合)
例示
最新のスナップショットのクエリを実行する
次の例では、"SecurityGraph" という名前の永続化されたグラフの最新のスナップショットを照会します。
graph("SecurityGraph")
| graph-match (user)-[permission]->(resource)
where user.type == "User" and resource.type == "Database"
project UserName = user.name, ResourceName = resource.name, Permission = permission.type
特定のスナップショットのクエリを実行する
次の例では、グラフの特定のスナップショットを照会します。
graph("SecurityGraph", "Snapshot_2025_05_01")
| graph-match (attacker)-[attacks]->(target)-[connects]->(system)
where attacker.name == "MaliciousActor"
project Attacker = attacker.name, Target = target.name, System = system.name
名前付きパラメーター構文を使用したクエリ
次の例では、名前付きパラメーター構文を使用してスナップショットを指定します。
graph("SecurityGraph", snapshot="Snapshot_2025_05_01")
| graph-shortest-paths (start)-[e*1..20]->(end)
where start.name == "Alice" and end.name == "Database"
project PathLength = array_length(e), Path = e
モデルから一時的なグラフを作成する
次の例では、 make-graph 演算子と同様に、モデルから一時的なグラフを作成します。
graph("SecurityGraph", true)
| graph-match (user)-[permission]->(resource)
where user.type == "User" and resource.type == "Database"
project UserName = user.name, ResourceName = resource.name, Permission = permission.type
false を使用して最新のスナップショットを指定する
次の例では、最新のスナップショットを使用する false を明示的に指定します。これは、2 番目のパラメーターを省略することと同じです。
graph("SecurityGraph", false)
| graph-match (user)-[permission]->(resource)
where user.type == "User" and resource.type == "Database"
project UserName = user.name, ResourceName = resource.name, Permission = permission.type