graph 函数(预览版)

适用于:✅Azure 数据资源管理器

注释

此功能目前处于公开预览状态。 正式发布之前,功能和语法可能会更改。

graph函数是一个内部函数,用于查询持久化图形实体,类似于 cluster()database()external_table()table()函数。 它支持检索图形的最新快照、特定快照或从模型创建暂时性图形。

权限

若要运行此函数,用户需要 数据库查看器权限

语法

graph( GraphName)

graph( GraphName,SnapshotName)

graph( GraphName,snapshot=SnapshotName)

graph( GraphName,短暂的)

参数

名称 类型 必选 DESCRIPTION
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 使用最新快照,这等效于省略第二个参数:

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