版本

# 图算法接口


# 接口列表:

# 中心度算法

# 分类/相似度算法

# 社群算法

# 路径查找算法


# 中介中心度查询

# 简述

将图视为有向图,计算点的中介中心度。主要基于经过该点的最短路径数量。

# 方法

	score_return query_betcentrality(String db_name, 
                             int search_direction, 
                             int hop);

# 参数

参数列表 类型 描述 是否可空 默认值 示例 备注
db_name String 数据库名称 * "ezoo"
search_direction int 搜索方向 * 2 方向参数说明
hop int 终止跳数 * 5 大于等于1,如需搜索全图可给一个很大的数值如100

# 返回值

参数列表 类型 描述 是否可空 默认值 示例 备注
_return score_return 返回了点id与其对应的中心度分数 * *

# 接近中心度查询

# 简述

将图视为无向图,计算点的接近中心度。主要基于点到图中其他各点的最短路径长度。

# 方法

	score_return query_clocentrality(String db_name, 
                             boolean if_WF, 
                             int hop);

# 参数

参数列表 类型 描述 是否可空 默认值 示例 备注
db_name String 数据库名称 * "ezoo"
if_WF boolean 是否使用Wasserman and Faust提出的改进方式 * 2 对于全联通图,是否使用改进方法结果不变。
hop int 终止跳数 * 5 大于等于1,如需搜索全图可给一个很大的数值如100

# 返回值

参数列表 类型 描述 是否可空 默认值 示例 备注
_return score_return 返回了点id与其对应的中心度分数 * *

# Louvain查询

# 简述

将图视为无向图,为点划分社群。主要基于拓扑结构与边权重计算出的模块分数。

# 方法

		community_return query_louvain(String db_name, 
                          String edge_type, 
                          String edge_props_name);


# 参数

参数列表 类型 描述 是否可空 默认值 示例 备注
db_name String 数据库名称 * "ezoo"
edge_type String 权重边 * “relation” 如没有权重属性,此属性可给空串。
edge_props_name String 权重属性 * “weight” 权重属性需为权重边上的数值类型属性。

# 返回值

参数列表 类型 描述 是否可空 默认值 示例 备注
_return community_return 返回了点id与其对应的社群 * *

# dijkstra查询

# 简述

将图视为有向图,根据边上的权重值,查找给定两点间最短路径。

内容升级中。


# 网页排名查询

# 简述

即pagerank算法。将图视为有向图,根据边上权重值,基于传播模型,计算图中节点的重要程度。用户可自定义传播模型参数。

# 方法

		score_return query_pagerank(String db_name,
                           double damping_factor,
                           int epoch_limit,
                           double max_convergence_error,
                           double vertex_init_value,
                           String edge_type,
                           String edge_props_name));


# 参数

参数列表 类型 描述 是否可空 默认值 示例 备注
db_name String 数据库名称 * "ezoo"
damping_factor double 损耗因子 * 0.85
epoch_limit int 迭代上限 * 5
max_convergence_error double 最大收敛误差 * 0.0001
vertex_init_value double 节点初始分数 * 1
edge_type String 权重边类型 * "edge" 如没有权重属性,此属性可给空串。
edge_props_name String 权重属性名 * "value" 权重属性需为权重边上的数值类型属性。

# 返回值

参数列表 类型 描述 是否可空 默认值 示例 备注
_return score_return 返回了点id与其对应的重要程度的分数 * *

# 单条最短路径查询

# 简述

将图视为有向图,查找两个节点的一条最短路径。

内容升级中。


# 标签传播查询

# 简述

Label Propagation Algorithm in semi-synchronous way,半同步标签传播算法,将图视为有向图,基于半同步标签传播理论,将图中的节点进行社群划分,分类表现较好。

# 方法

		community_return query_lpa(String db_name,
                        int epoch_limit);

# 参数

参数列表 类型 描述 是否可空 默认值 示例 备注
db_name String 数据库名称 * "ezoo"
epoch_limit int 迭代上限 * 20

# 返回值

参数列表 类型 描述 是否可空 默认值 示例 备注
_return community_return 返回了点id与其对应的社群 * *

# 半同步标签传播查询

# 简述

Label Propagation Algorithm in synchronous way,将图视为有向图,基于同步标签传播理论,避免了循环传播情况,将图中的节点进行社群划分,速度快于标签传播算法。

# 方法

		community_return query_lpa_sync(String db_name,
                                        int epoch_limit);


# 参数

参数列表 类型 描述 是否可空 默认值 示例 备注
db_name String 数据库名称 * "ezoo"
epoch_limit int 迭代上限 * 20

# 返回值

参数列表 类型 描述 是否可空 默认值 示例 备注
_return community_return 返回了点id与其对应的社群 * *

# 强连通分量查询

# 简述

Strongly Connected Components算法,将图视为有向图,查找图中的强连通分量。

# 方法

		community_return query_scc(String db_name);

# 参数

参数列表 类型 描述 是否可空 默认值 示例 备注
db_name String 数据库名称 * "ezoo"

# 返回值

参数列表 类型 描述 是否可空 默认值 示例 备注
_return community_return 返回了点id与其对应的社群 * *

# 弱连通分量查询

# 简述

Weakly Connected Components算法,将图视为无向图,查找图中的弱连通分量。

# 方法

		community_return query_wcc(String db_name);

# 参数

参数列表 类型 描述 是否可空 默认值 示例 备注
db_name String 数据库名称 * "ezoo"

# 返回值

参数列表 类型 描述 是否可空 默认值 示例 备注
_return community_return 返回了点id与其对应的社群 * *

# 杰卡德相似度查询

# 简述

将图视为有向图,基于邻居节点,计算两个节点的相似度。

内容升级中。


# 随机游走查询

# 简述

将图视为有向图,基于游走模型,给出给定节点的游走路线。用户可自定义游走模型的参数,控制深度搜索与广度搜索的比例。

内容升级中。


最近一次更新时间: 5/24/2022, 7:03:29 AM