我正在寻找更好的推荐图分析库或框架,更好的在C++或java。我找到了一些图库,
https://stackoverflow.com/questions/3010805/scalable-parallel-large-graph-analysis-library
本网页提供了一些可能的解决方案:
·C++ --最可行的解决方案似乎是Boost图库和并行Boost图库。我也在研究MTGL,尽管它更倾向于大规模多线程硬件架构,比如Cray XMT。最后,我在列表中添加了柠檬以供考虑。·C- latter和SNAP (小世界网络分析和分区);后者在SMP系统上使用OpenMP进行并行处理。·Java --我在这里还没有发现任何并行库,但JGraphT和JUNG在非平行空间中可能是领先的竞争者。·Python和NetworkX看起来是最可靠的选项,尽管两者都不是并行的。以前有用于BGL的Python绑定,但现在不支持这些绑定;2005年的最后一个版本现在看起来已经过时了。
但我不知道我应该根据自己的需要使用哪一种:
,
分析能力和可伸缩性是我最关心的问题。有没有人有建议。任何建议都会有帮助。
发布于 2012-03-07 15:03:19
我使用过networkx,它的工作原理和Jung一样完美。如果您的数据在内存中比这两种数据工作得更好,但我所遇到的问题是缺乏持久性(您可以将它们保存到xml文件中,并将其上载/下载到数据库中,但是数据库中的分析不能将图形的大小限制在内存大小上)。
最近,我一直在玩neo4j(和各种加法),它可以解决这个问题。它并不是无限扩展的,但是如果您的数据少于320亿节点,那么它作为存储引擎的速度非常快,您可以使用其他核心(或工作机器)并行地分析图形。关于它们的速度有很多性能文档,但我通常不同意这些类型的测试,因为这不是我的测试用例,所以我建议您下载它(在neo4j.org上免费)并自己判断。
https://stackoverflow.com/questions/9602790
复制相似问题