将图数据库中,将有关联的点和边作为一个集合,并将集合赋予唯一标识.

将图数据库中,将有关联的点和边作为一个集合,并将集合赋予唯一标识.
解决办法可以是查询或是其他方案都可以 .

这是一种社区发现算法

这个社区发现算法 我这边需要安装什么软件和学习哪些内容呢 ?

networkx

如果数据源在 nebula 而不是在 csv 之类的其他源中,可以用 nebula algorithm 跑社区发现算法,Nebula Algorithm - Nebula Graph Database 手册

这里有我基于 livejournal 数据导入,然后在单机容器里跑 nebula algorithm : pagerank 的例子 ( https://github.com/wey-gu/nebula-livejournal ),如果需要的计算内存、cpu超过单机,需要 spark 集群提交算法,你可以换成对应的算法配置(比如 LabelPropagation ,配置文件例子 https://github.com/vesoft-inc/nebula-spark-utils/blob/v2.5/nebula-algorithm/src/main/resources/application.conf ),参考上边的文档链接和 nebula-algorithm 的 github repo。

算法的输出结果可以写到csv文件(两列:每个点的id,所属社区id),也可以写回 nebula 作为点的属性(需要schema里定义表示社区的字段)

1 个赞

嗯嗯 咱们这边有具体的这一块的学习吗?就是我这边大概看了一下 图计算算法,咱们这边就是在配置文件选择了算法,然后就执行。我们这边在哪写算法实现自己的业务需求呢?有没有相对来说详细的算法的说明呢?可能对算法这一块还是有些模糊。

networkx是python 我们开发java :joy:

如果实现自己的算法,可以参考已有的 nebula algorithm 实现的算法 ,scala 的,本质上是跑在 GraphX 上的。

好的 谢谢

1 个赞

浙ICP备20010487号