你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
graph-mark-components 运算符(预览版)
适用于:✅Microsoft Fabric✅Azure 数据资源管理器Azure Monitor✅Microsoft✅ Sentinel
graph-mark-components
运算符查找图形的所有已连接组件,并使用组件标识符标记每个节点。
语法
G |
graph-mark-components
[kind
=
Kind] [with_component_id
=
ComponentId]
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
G | string | ✔️ | 图形源。 |
Kind | string | 连接的组件类型 weak (默认值)或 strong 。 弱组件是由路径连接的一组节点,忽略边缘的方向。 强组件是在两个方向之间连接的一组节点,考虑边缘的方向。 |
|
ComponentId | string | 表示组件标识符的属性名称。 默认的属性名称为 ComponentId 。 |
返回
运算符 graph-mark-components
返回一个图形结果,其中每个节点在 ComponentId 属性中都有一个组件标识符。 标识符是组件从零开始的连续索引。 每个组件索引都是任意选择的,在运行中可能不一致。
示例
根据他们的关系查找系列
以下示例从一组子-父对创建图形,并使用 family
标识符标识连接的组件。
let ChildOf = datatable(child:string, parent:string)
[
"Alice", "Bob",
"Carol", "Alice",
"Carol", "Dave",
"Greg", "Alice",
"Greg", "Dave",
"Howard", "Alice",
"Howard", "Dave",
"Eve", "Frank",
"Frank", "Mallory",
"Eve", "Kirk",
];
ChildOf
| make-graph child --> parent with_node_id=name
| graph-mark-components with_component_id = family
| graph-to-table nodes
输出
name | family |
---|---|
Alice | 0 |
Bob | 0 |
Carol | 0 |
Dave | 0 |
Greg | 0 |
Howard | 0 |
Eve | 1 |
Frank | 1 |
Mallory | 1 |
Kirk | 1 |
为每个系列查找最常见的上级
以下示例使用连接的组件 family
标识符和 graph-match
运算符在一组子-父数据中标识每个系列的最高上级。
let ChildOf = datatable(child:string, parent:string)
[
"Alice", "Bob",
"Carol", "Alice",
"Carol", "Dave",
"Greg", "Alice",
"Greg", "Dave",
"Howard", "Alice",
"Howard", "Dave",
"Eve", "Frank",
"Frank", "Mallory",
"Eve", "Kirk",
];
ChildOf
| make-graph child --> parent with_node_id=name
| graph-mark-components with_component_id = family
| graph-match (descendant)-[childOf*1..5]->(ancestor)
project name = ancestor.name, lineage = childOf.child, family = ancestor.family
| summarize (generations, name) = argmax(array_length(lineage),name) by family
输出
family | 代数 | name |
---|---|---|
1 | 2 | Mallory |
0 | 2 | Bob |