Arv*_*vin 7 partitioning graph neo4j metis
我知道有一些着名的图形分区算法工具,如METIS,由karypis Lab实施(http://glaros.dtc.umn.edu/gkhome/metis/metis/overview)
但我想知道是否有任何方法来分割存储在Neo4j中的图形?或者我必须转储Neo4j的数据并手动转换节点和边缘格式以适应METIS输入格式?
关于新的和有趣的算法,这绝不是详尽的或现有的,但这些是我看的第一个地方:
特定算法:DiDiC(分布式扩散聚类) - 我在论文中使用过一次(分区图数据库)
特定算法:EvoCut"使用演化集在本地查找稀疏剪切" - 来自Microsoft的本地概率算法 - 与这些论文相关
通用算法族:分层图聚类
从高层次:
笔记:
一般限制 - 几乎没有聚类算法的事情:
过去我曾独立使用 METIS 和 Neo4j,所以不知道有任何工具可以从 Neo4j 生成 METIS 文件。话虽这么说,编写这样一个工具应该是一项简单的任务,并且将是对社区的巨大贡献。
将 METIS 与 Neo4j 集成的另一种方法可能是通过 JNI 将 METIS 从 C++ 连接到 Neo4j。然而,这将涉及更多的事情,因为它必须处理事务、并发等问题。
在分割图这个更普遍的问题上,很可能通过合理的努力来实现一些更已知和简单的算法。