中心度查询

点的度查询在科学计算、特征提取当中扮演着至关重要的角色。针对一个点的度计算,Ultipa 会以实时(real-time)的方式执行,而针对全图所有点的度计算,将会以任务的方式进行。

本篇中前三个算法为 针对单个点的度查询,都具有相同的 [配置]

名称 类型 规范 描述
node_id int >0 必填 需要计算的节点 id
edge_property_name string / 作为权重的边属性的名称,属性类型为数值,不设置则权重为1

本篇中前三个算法为 针对全图的度查询,都具有相同的[配置]:

名称 类型 规范 描述
ids []int >0 需要计算的节点 id 列表,不设置则表示计算所有节点
edge_property_name string / 作为权重的边属性的名称,属性类型为数值,不设置则权重为1
limit int >0或-1,必填 需要返回的结果的条数,-1表示返回所有结果
order string ASC,DESC 对返回结果进行排序,不设置则不排序

节点出度(Out Degree)

节点出度,即在 Ultipa 图系统中,计算某个点的出方向(右向)边的总数,或者计算出方向边的某一位属性的总和。

计算节点出度的[命令]algo(out_degree)

示例:计算 点( id = 12) 的出度:

algo(out_degree).params({ node_id: 12 });

示例:计算 点(id = 12) 的出方向边的属性 rank 的总和:

algo(out_degree).params({ node_id: 12, edge_property_name: "rank" });

节点入度(In Degree)

节点入度,即在 Ultipa 图系统中,计算某个点的入方向(左向)边的总数,或者计算入方向边的某一位属性的总和。

计算节点入度的[命令]为 :algo(in_degree)

示例:计算 点( id = 12) 的入度

algo(in_degree).params({ node_id: 12 });

示例:计算 点( id = 12) ,基于边属性 rank 的入度

algo(in_degree).params({ node_id: 12, edge_property_name: "rank" });

度中心度(Degree Centrality)

节点度中心度, 指定点的入度和出度的和。

计算度中心度的[命令]为:algo(degree)

示例:计算 点( id = 12) 的度中心度:

algo(degree).params({ node_id: 12 });

示例:计算 点( id = 12) 的度中心度,以属性 rank 为权重:

algo(degree).params({ node_id: 12, edge_property_name: "rank" });

全图节点出度(Out Degree – All Nodes)

全图节点出度支持将结果回写至点属性 #out_degree_all 中。

计算全图节点出度的[命令]algo(out_degree_all)

示例:计算全图点的出度,返回5条结果

algo(out_degree_all).params({limit: 5});

示例:计算点(id=1,2,3)的出度,按出度升序排列,返回全部结果:

algo(out_degree_all).params({ ids: [1,2,3], limit: -1, order: "ASC" });

全图节点入度(In Degree – All Nodes)

全图节点入度支持将结果回写至点属性 #in_degree_all 中。

计算全图节点入度的[命令]为 :algo(in_degree_all)

示例:计算全图点的入度,返回5条结果:

algo(in_degree_all).params({limit: 5});

示例:计算全图点的入度,按入度降序排列,返回全部结果:

algo(in_degree_all).params({ limit: -1, order: "DESC" });

全图度中心度(Degree Centrality – All Nodes)

全图度中心度支持将结果回写至点属性 #degree_all 中。

计算度全图度中心度的[命令]为:algo(degree_all)

示例:计算全图点的度中心度,返回全部结果:

algo(degree_all).params({ limit: -1 });