使用“搜索,显示上下文和按需扩展”概念进行大数据可视化

时间:2014-02-19 21:58:19

标签: visualization graph-visualization

我试图想象存储在数据库中的一个非常庞大的网络(3M节点和13M边缘)。对于实时交互性,我计划仅根据用户查询显示图形的一部分,并根据需要进行扩展。例如,当用户点击某个节点时,我会扩展其邻域。 (这称为"搜索,显示上下文,按需扩展"在this paper上)。

我查看了几个可视化工具,包括GephiD3等。他们将文本文件作为输入,但我不知道他们如何连接数据库并根据用户更新图表'相互作用。

链接的论文实现了这样的系统,但他们没有描述他们正在使用的工具。

如何使用上述标准可视化此类数据?

1 个答案:

答案 0 :(得分:33)

有几种解决方案,但基本上每种方法都采用相同的方法:

  1. 在您的来源之上创建图层,以便您在高级别进行查询
  2. 创建一个前端层以与上述级别进行对话
  3. 使用您想要的可视化工具
  4. 正如miro marchi指出的那样,有几种解决方案可以实现这一目标,其中一些解决方案可以锁定特定的数据源,而另一些则具有更大的自由度,但需要一些编码技能。

    数据源

    我首先要选择源类型:从数据类型来看,我可能会选择Neo4J,Titan或OrientDB(如果你喜欢某种具有某种灵活性的异域风情)。 它们都提供了JSON REST API,前者使用专有系统和语言(Cypher),另外两个使用Blueprint / Rexster系统。 如果你喜欢Gremlin而不是Cypher,Neo4J也支持Blueprint堆栈。

    对于其他解决方案,这样的其他NoSQL或SQL db可能你必须用相对的REST API编写上面的一层,但它也可以工作 - 我不建议你使用那种数据。< / p>

    现在,只留下第三点,在这里你有几个选择。

    通用Viz工具

    • Sigma.js这是一个免费的开源图形可视化工具。就我所知,Linkurious正在使用它的fork版本。

    • Keylines这是一个商业图形可视化工具,具有高级样式,分析和布局,如果您使用Neo4J or Titan,它们可以提供复制/粘贴演示。它不是免费的,但它确实支持更旧的浏览器 - IE7以后......

    • VivaGraph它是图形可视化工具的另一个免费开源工具 - 但与SigmaJS相比,它拥有更小的社区。

    • D3.js这是数据可视化的事实,你基本上可以做到各种可视化,但学习曲线非常陡峭。

    • Gephi是另一个免费的开源桌面解决方案,您必须使用外部插件,但它确实支持大多数格式 - graphML,CSV,Neo4J等等......

    特定供应商

    • Linkurious这是一个商业Neo4J专用搜索/调查数据的完整工具。

    • Neo4J web-admin控制台 - 即使它是基本的,他们使用基于D3.js的较新版本2.x.x进行了大量改进。

    还有其他解决方案,我可能忘了提及,但上面的解决方案应该提供了很多种。

    其他节点

    由于JS的限制,上面的JS工具可以同时显示1500/2000个节点 如果你想要想象更大的东西 - 在扩展的同时 - 我会推荐像Gephi这样的桌面解决方案。

    声明

    我是Keylines开发团队的成员。