适用于:✅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