Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

analytics add algorithm #2188

Merged
merged 2 commits into from
Oct 10, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions docs-2.0/graph-computing/algorithm-description.md
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,25 @@ BFS(广度优先遍历)算法是一种基础的图遍历算法,它给定
|`ROOT`|创建图空间时`vid_type`决定| 起始点的 ID。|
|`VISITED`|int| 输出`ROOT`访问过的点数量。|

### ShortestPath

ShortestPath(最短路径)算法用于寻找图中起点和终点任意两两之间的最短路径,适用于路径设计、网络规划等场景。

- NebulaGraph Analytics

cooper-lzy marked this conversation as resolved.
Show resolved Hide resolved
- 传入参数

|参数|默认值|说明|
|:--|:--|:--|
|`src`|`"100"`|起点。多个值用逗号分隔。|
|`dst`|`"200"`|终点。多个值用逗号分隔。|

- 输出参数

|参数|类型|说明|
|:--|:--|:--|
|`VALUE`|list| 返回最短路径中的点。格式为`src, vid1,vid2...dst`。同时有多个最短路径时,只返回一条。|

## 社区发现算法

### LPA
Expand Down Expand Up @@ -477,6 +496,34 @@ Louvain 算法是基于模块度的社区发现算法,该算法在效率和效
|`VID`|创建图空间时`vid_type`决定| 点的 ID。|
|`LABEL`|与`VID`类型相同| 输出标签相同的点的 ID。|

### InfoMap

InfoMap 算法使用双层编码方式将有向图进行社区分类。不同社区内部节点的编码复用,可以大幅缩短描述的信息长度。在实现方式上,该算法包含了 PageRank 算法,用于将随机游走转变为随机冲浪。

!!! note

仅 NebulaGraph Analytics 支持该算法。

- NebulaGraph Analytics

- 传入参数

|参数|默认值|说明|
|:--|:--|:--|
|`pagerank_iter`|`10`| 内部 PageRank 算法的最大迭代次数。|
|`pagerank_threshold`|`0.0001`|内部 PageRank 算法的收敛精度。|
|`teleport_prob`|`0.15`| 穿越概率。|
|`inner_iter`|`3`| 内层迭代次数。|
|`outer_iter`|`2`| 外层迭代次数。|
|`comm_info_num`|`100`| 输出的社群数量。|

- 输出参数

|参数|类型|说明|
|:--|:--|:--|
|`VID`|创建图空间时`vid_type`决定| 点的 ID。|
|`LABEL`|与`VID`类型相同| 输出标签相同的点的 ID。|

## 图特征算法

### TriangleCount
Expand Down Expand Up @@ -571,6 +618,51 @@ Node2Vec算法在 DeepWalk 的基础上提出了更加合理的图特征学习

输出多个列,同一列中的点是有关联的。

### Tree_stat

Tree_stat 算法用于统计图空间中指定根节点的子图的宽度或深度。

!!! note

仅 NebulaGraph Analytics 支持该算法。

- NebulaGraph Analytics

- 传入参数

|参数|默认值|说明|
|:--|:--|:--|
|`root`|`100`| 根节点的 VID。|
|`stat`|`width,depth`|统计宽度或深度。多个值用逗号分隔。|

- 输出参数

|参数|类型|说明|
|:--|:--|:--|
|`VALUE`|list| 返回一行统计数据,格式与参数`stat`一致。|

### HyperANF

HyperANF 算法用于评估图中任意两点的平均距离。

!!! note

仅 NebulaGraph Analytics 支持该算法。

- NebulaGraph Analytics

- 传入参数

|参数|默认值|说明|
|:--|:--|:--|
|`bits`|`6`| HyperLogLog 计数器的 bit 位长度,取值范围:6~16。|

- 输出参数

|参数|类型|说明|
|:--|:--|:--|
|`VALUE`|double| 平均距离。|

## 聚类算法

### ClusteringCoefficient
Expand Down
14 changes: 9 additions & 5 deletions docs-2.0/graph-computing/nebula-analytics.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,20 +33,24 @@ NebulaGraph Analytics 支持的图计算算法如下。
| APSP | 全图最短路径 | 路径 |
| SSSP | 单源最短路径 | 路径 |
| BFS | 广度优先遍历 | 路径 |
| ShortestPath | 最短路径 | 路径 |
| PageRank | 页面排序 | 节点重要度 |
| KCore | K核 | 节点重要度 |
| DegreeCentrality | 度中心性 | 节点重要度 |
| DegreeWithTime | 基于边的时间范围统计邻居 | 节点重要度 |
| BetweennessCentrality | 中介中心性 | 节点重要度 |
| ClosenessCentrality | 紧密中心性 | 节点重要度 |
| TriangleCount | 三角计数 | 图特征 |
| TriangleCount | 三角计数 | 图特征 |
| Node2Vec | 图神经网络 | 图特征 |
| Tree_stat | 树结构统计 | 图特征 |
| HyperANF | 图平均距离估算 | 图特征 |
| LPA | 标签传播 | 社区发现 |
| HANP | 标签传播进阶版 | 社区发现 |
| WCC | 弱联通分量 | 社区发现 |
| LOUVAIN | 鲁汶 | 社区发现 |
| HANP | 标签传播进阶版 | 社区发现 |
| WCC | 弱联通分量 | 社区发现 |
| LOUVAIN | 鲁汶 | 社区发现 |
| InfoMap | 社区分类 | 社区发现 |
| Clustering Coefficient| 聚集系数 | 聚类 |
| Jaccard | 杰卡德相似度 | 相似度 |
| Jaccard | 杰卡德相似度 | 相似度 |

## 安装 NebulaGraph Analytics

Expand Down