-2

我想在图形应用程序中可视化 Neo4j 数据库。(我这样做主要是作为学习练习)。

我希望它的行为与 Neo4j 的 WebAdmin 中的可视化几乎相同:当图形出现时,我希望看到节点在它们到达最终位置时四处移动,并且我希望用户能够单击并拖动节点图标屏幕并让它们粘在它们掉落的地方,图表的其余部分会调整以适应变化。

我有两个问题。

  • 上面段落中粗略描述的三个要求的技术术语是什么?
  • 我是一名没有 JavaScript 经验的 Java 程序员,但我认为,通过这个项目,是时候获得一些东西了——sigma.js特别是看起来非常强大且相对简单。然而,最终这需要在 Java Swing 应用程序中完成,虽然我知道可以使用各种容器将 JS/HTML 内容嵌入到 Swing 中,但似乎纯 Java 解决方案仍然是理想的,我对任何可能使这成为可能的框架感到好奇。我现在正在研究 Gephi,但它似乎没有 sigma.js 强大或简单易用。我在这个假设上错了吗?
  • 总结第二个问题:哪个会是我更好的时间投资:学习sigma.js和各种 JS 框架(这需要我熟悉 JS),还是学习在 Java 中使用 Gephi?(假设我对图形可视化有普遍和长期的兴趣)
4

2 回答 2

4

Java 可视化

Gephi 确实为 Java 和 Python提供了一个不包含 UI 模块的工具包,所以除非您想使用 Gephi 本身来可视化您的网络,否则只要我知道,您就不能将其 UI 嵌入到您的 Java/Swing 应用程序中。该工具包包含所有算法和插件基础架构,因此如果您想使用嵌入在您的应用程序中的一些分析工具,您可以使用它,否则我认为不是您的情况。

如果您想在此处进行图形可视化,还有其他 Java 选项:用于动态可视化的 Java 图形库

关于 Gephi 和 sigmaJS

  • 恕我直言,Gephi 比 sigma.js 强大得多:它具有完整的 SNA 工具、多种布局、数据编辑器、导出器、插件系统......

  • 一个重要的因素也是你想要可视化的数据集的大小:虽然 sigmaJS 可以在视图中处理多达 500 个节点,但 Gephi 也可以在 GPU 支持的情况下轻松布局 50000 个节点。

  • Gephi 是一种科学工具,专为不想编写代码以可视化网络的人而设计,它可以完成工作。SigmaJS 是在网页上可视化图形的众多 JS 解决方案之一。

  • 您始终可以使用插件从 Gephi 导出到 sigmaJS

什么更好?

在故事的最后,我猜你要使用的工具取决于:

  • 你必须可视化一个大数据集吗?-> Java 解决方案将赢得大型解决方案
  • 您需要轻松分发吗?-> Web 应用程序/SigmaJS 赢得分布式
  • 您想与您的应用程序完全集成吗?-> Java 获胜
于 2014-02-23T09:32:50.597 回答
-1

我发现的最好的是 Keylines,但它并不便宜。Gephi还可以,但是上次看的时候不支持Neo4j 2.0

如果您的程序员 Neo4j 是开源的,那么您可以在 Git 上分叉存储库并使用它(不过,在将任何产品商业化之前,您必须检查许可模型)

于 2014-02-24T08:42:32.227 回答