相关文章推荐
痛苦的双杠  ·  SQL Server 2008 ...·  1 年前    · 
魁梧的小刀  ·  C语言 memcpy 函数 - ...·  2 年前    · 
成熟的匕首  ·  gradle缓存库转成maven - ...·  2 年前    · 
暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Neo4j 图数据可视化工具介绍

原创 Neo4j 图数据平台 2022-06-27
7955

作者:刘洋,Neo4j 高级技术顾问



前言

关于Neo4j图数据的可视化一直是大家很感兴趣的一个话题。当分析图数据时,我们意识到要创建一个直观的图可视化并不是那么容易。值得庆幸的是,当前已经拥有了大量的现成工具,使图可视化可以很容易的创建在您的图应用中。

在这篇文章中,我们将常用的图可视化工具按照功能和应用场景进行分类介绍,希望您读完这篇文章后对图可视化有一个大致的了解,并对今后选择适合您业务场景的图可视化工具有所帮助。

图可视化工具的分类

所有的图可视化工具都有他的应用场景和目标用户群定位,按照功能和应用场景我们可以把图可视化工具分为以下四大类:

  • 开发工具,帮助开发人员开发图可视化
  • 探索工具,帮助分析人员探索图数据关系
  • 分析工具,用于揭示图数据中趋势和差异
  • 报告工具,用于创建和组织图数据报告,如可视化报表、仪表盘等

在下图中,我们按以上类别分类显示了一些市面上常见的图可视化工具。在纵轴上按产品类型进行了分类(分为Neo4j产品、社区项目和企业软件)。

需要注意的是,有些工具功能可能属于两个类别,这种情况下该工具可以用于两个类别的场景,所以这个分类仅供参考。另外,第三方的企业软件可能需要购买对应工具的license许可。

接下来,让我们深入了解这些图可视化工具的具体情况。

1. Neo4j Browser (开发工具)

Neo4j Browser大家都不会陌生了,它是Neo4j图数据库开发人员运行Cypher查询的工具,它可以让您以图或表格的形式呈现查询结果。虽然可视化能力有限,但我们每天都会用它来快速设计和优化Cypher查询。

主要特点:

  • 容易上手,但可视化和风格选择有限
  • 直接查询您的图数据,但需要Cypher知识
  • 适合快速查询开发,但没有保存/嵌入/共享可视化的功能

2. Neo4j Bloom (探索 &分析工具)

Neo4j Bloom是一个用于交互式探索Neo4j图数据的工具。Neo4j Browser主要由开发人员使用,而Bloom更适合数据分析师——那些想要动态可视化图数据和交互图数据的用户。Bloom支持基于文本的搜索,没有Cypher知识的业务用户也可以容易的分析和探索Neo4j图数据。

主要特点:

  • 点击和拖拽即可探索图数据
  • 通过自定义样式来可视化大规模图数据
  • 用可视化界面编辑(修改)您的Neo4j图数据
  • 存储和分享图分析结果视图
  • 渲染不同的图布局

3. Neovis.js (开发工具)

Neovis.js是一个JavaScript库,帮助开发者使用Neo4j图数据创建图可视化。Neovis.js是流行的库Vis.js的封装,在Cypher和浏览器中定制图可视化之间提供了一座桥梁。

主要特点:

  • JavaScript库(基于Vis.js)用于创建Neo4j图可视化
  • 直接连接到Neo4j实例以获得实时数据
  • 基于标签、属性或社区的用户指定的样式属性
  • 支持节点的悬停/点击等功能

4. Popoto.js (开发工具)

Popoto.js是另一个社区驱动的JS库,用于创建可嵌入的图可视化内容。Popoto.js基于被广泛使用的D3.js库,支持大量的图可视化内容。它还包含一个用于Neo4j的互动和可定制的图可视化查询生成器。网上有大量关于如何使用Popoto的例子,以及如何用自定义样式扩展它。

主要特点:

  • 一个交互式的可视化Cypher查询生成器,可与Neo4j直接连接
  • 可嵌入到网页中,并有各种例子可供借鉴
  • 由广泛使用的D3.js可视化库支持
  • 通过扩展实现自定义风格设计

5. KeyLines (开发工具)

KeyLines是一个用于在JavaScript中构建图可视化的企业库。与neovis.js和popoto.js相比,KeyLines有更多的功能(布局、样式、分组、过滤),并且在大型图上有很好的表现。KeyLines是一个企业专用的产品,为其他一些独立的图探索工具(如GraphAware Hume)提供支持。

主要特点:

  • 用于高级图可视化的JavaScript库
  • 支持基于时间的分析,地理空间图分析,社交网络分析等
  • 支持地理(地图)可视化
  • 自定义图的布局(分组)和风格
  • 高性能的WebGL渲染

6. CytoScape (开发工具)

CytoScape是一个最初用于可视化生物网络的工具,但它最近被用于各种网络分析的用途。CytoScape.js 是一个用于图可视化的开源Javascript库,它是迄今为止最广泛的图可视化开源库——支持图布局、高级样式设计、事件处理等。

主要特点:

  • 高度优化的图渲染
  • 使用布局来自动或手动定位节点
  • 自定义风格设计
  • 易于嵌入到网络应用程序中
  • 开放源代码,易于扩展自定义功能

7. yWorks Neo4j Explorer (探索工具)

yWorks