node_degree_in(图函数)

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

node_degree_in 函数将 以度为单位或传入边缘数计算到定向图中的节点。

注释

此函数用于 graph-matchgraph-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