首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >切分neo4j图,最小切分

切分neo4j图,最小切分
EN

Stack Overflow用户
提问于 2014-04-01 14:07:07
回答 1查看 724关注 0票数 3

我听说过一种用于切分或分割图形数据库的最大流最小剪切方法。是否有人有一个示例密码查询,可以这样做,例如,针对电影数据集?基本上,我想根据用户的喜好将用户划分成不同的片段/集群,这样也许min就能自然地找到不同类型的用户群,比如恐怖、戏剧,或者它可能会创建一些非直观的集群/片段,比如潮人/浪漫主义者和保守/喜剧/恐怖群体。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-03 16:10:59

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

我更详细的答案是,即使这是可能的--这很可能是--我建议不要这样做。

多个算法'do‘最小切割最大流量,这些算法都有不同的性能特征,而且,由于集群计算上的开销很大,我想您希望控制所使用的特定算法实现。Cypher是一种声明性语言,您可以指定您要寻找的是什么,而不是如何使用来实现它,并且很难以这样一种方式来指定这样一个复杂的问题,即Cypher引擎可以找出您想要做的事情。这将使Cypher (或任何声明性语言引擎)难以生成高效的查询计划。

我的建议是找到您希望使用的具体算法,并使用Neo4j Java实现它。如果您在嵌入式模式下运行Neo4j,那么就完成了。如果您正在运行Neo4j服务器,那么您只需将该代码作为非托管服务器扩展运行即可

AFAIK你要的是“社区检测”算法。有不重叠(社区不重叠)和重叠变体,其中不重叠通常更容易实现和理解。常见的算法有:

  • 不重叠:卢万
  • 重叠:标签传播算法(LPA) (通常不重叠,但有扩展使其重叠)

下面是算法的几个C++代码示例:Louvain,Oslom (重叠),LPA (非重叠)和Infomap

如果你想要出血边缘,我被推荐使用SCD算法

  • 学术论文:大真实图的高质量、可扩展和并行的社区检测
  • C++ 实现
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22788373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档