适用于:✅Azure 数据资源管理器
node_degree_in
函数将 以度为单位或传入边缘数计算到定向图中的节点。
注释
此函数用于 graph-match
和 graph-shortest-paths
运算符。
语法
node_degree_in([
节点])
参数
名字 | 类型 | 必填 | 说明 |
---|---|---|---|
节点 | string |
对图形模式中图形节点变量的引用。 在 all()、any()和 map() 图形函数中使用时,不要传递任何参数,inner_nodes()。 |
退货
返回输入节点或所有内部节点的以度为单位,当在 all()、 any()和 map() 函数中使用时,将inner_nodes () 函数使用。
示例
以下示例创建一个图形来分析员工及其经理的分层结构。
图形匹配运算符查找只有三个直接报告(node_degree_in(manager) == 3)的经理,其中任何内部节点(员工)至少有一个报表(node_degree_in() > 1)。
该查询返回经理、每个直接报表的名称、经理的学位和每个员工的直接报表数。
let employees = datatable(name:string, age:long)
[
"Alice", 32,
"Bob", 31,
"Eve", 27,
"Joe", 29,
"Chris", 45,
"Alex", 35,
"Ben", 23,
"Richard", 39,
];
let reports = datatable(employee:string, manager:string)
[
"Bob", "Alice",
"Chris", "Alice",
"Eve", "Bob",
"Ben", "Chris",
"Joe", "Alice",
"Richard", "Bob"
];
reports
| make-graph employee --> manager with employees on name
| graph-match (manager)<-[reports*1..3]-(employee)
where node_degree_in(manager) == 3 and any(inner_nodes(reports), node_degree_in() > 1)
project manager.name, employee.name,
reports_and_inner_nodes_degree_in = map(inner_nodes(reports), strcat(name, " has ", node_degree_in(), " reports")),
degree_in_m=node_degree_in(manager),
degree_out_e=node_degree_out(employee)
输出
manager_name | employee_name | reports_and_inner_nodes_degree_in | degree_in_m | degree_out_e |
---|---|---|---|---|
爱丽丝 | 理查 | [“Bob 有 2 个报告”] | 3 | 1 |
爱丽丝 | 前夕 | [“Bob 有 2 个报告”] | 3 | 1 |
爱丽丝 | 艾伦 | [ “Bob 有 2 个报告”, “伊芙有 1 份报告” ] |
3 | 1 |