gpt4 book ai didi

neo4j - 分片 Neo4j 图,最小切割

转载 作者:行者123 更新时间:2023-12-04 19:56:27 26 4
gpt4 key购买 nike

我听说过用于对图数据库进行分片或分段的最大流最小切割方法。有人有一个示例密码查询可以对 movielens 数据集说吗?基本上我想根据用户的喜好将用户分成不同的分片/集群,这样也许最小剪切可以自然地找到围绕恐怖、戏剧等类型的用户集群,或者它可能会创建非直观的集群/分割,如时髦/浪漫和保守/喜剧/恐怖团体。

最佳答案

我的简短回答是否定的,对不起,我不知道你会怎么表达。

我的长篇回答是,即使这是可能的 - 这很可能 - 我会建议不要这样做。

多个算法“做”min-cut max-flow ,这些都将具有不同的性能特征,并且由于聚类在计算上很昂贵,我猜您想控制所使用的特定算法实现。Cypher 是一种声明性语言,您可以指定什么您正在寻找,而不是如何去做,并且很难以 Cypher 引擎可以弄清楚您要做什么的方式来指定如此复杂的问题。这将使 Cypher(或任何声明性语言引擎)难以生成有效的查询计划。

我的建议是找到您希望使用的特定算法并使用 Neo4j Java API 实现它.如果你在嵌入式模式下运行 Neo4j,那你就完成了。如果您正在运行 Neo4j 服务器,那么您只需将该代码作为 Unmanaged Server Extension 运行即可。

据我所知,您正在寻找“社区检测”算法。有非重叠(社区不重叠)和重叠的变体,其中非重叠通常更容易实现和理解。常见算法有:

  • 非重叠:Louvain
  • 重叠:标签传播算法 (LPA)(通常是非重叠的,但有一些扩展可以使其重叠)

以下是算法的一些 C++ 代码示例:Louvain, Oslom (overlapping), LPA (non-overlapping), and Infomap)

如果你想要前沿技术,我被推荐使用 SCD 算法

关于neo4j - 分片 Neo4j 图,最小切割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22788373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com