在 Neo4j 中可视化您的数据

本节将介绍图可视化工具的选项,以及如何利用可视化工具从数据中获取洞察。

Neo4j 的设计初衷就是高度可视化的。像 Neo4j 这样的原生图数据库专注于关系。可视化这些关系可以为您提供一种独特的“全局视图”,这是传统表格和商业智能软件难以甚至无法实现的。

图可视化通过以各种格式绘制图形,将这些能力更进一步,使用户能够以更友好的方式与数据进行交互。借助可视化工具,完整或部分的图表可以变得栩栩如生,并允许用户对其进行探索,设置各种规则或视图,从而从不同角度进行分析。

本节旨在帮助您了解如何导出 Neo4j 中的图数据以进行可视化展示,并列出相关选项,以便您根据需求做出选择。

为什么要可视化图数据?

处理数据的方法有很多,如 JSON、XML、表格等。为什么要用可视化来呈现呢?

任何审阅图表的人都可以看到其中的连接、确定感兴趣的领域,或快速评估数据的当前状态和组织结构。正如您所想象的,这可以提供其他数据格式无法比拟的洞察力,带来巨大的价值。可视化有助于使异常或相关模式脱颖而出,帮助人类的眼睛和大脑发现它们,而其他类型的数据格式可能无法很好地凸显隐藏的结构。

Graph

让我们使用之前数据建模指南中的电影数据来看一个非常基础的例子。在上面的图视图中,我们可以轻松识别出 Lana Wachowski 导演了 Cloud AtlasThe Matrix 两部电影,而在表格展示中,这些信息就不那么清晰或容易查找了。

表格

即使您觉得在表格格式中关系并不难找,想象一下如果我们查看的是一张包含这些个人整个职业生涯、以及数百名其他演员、导演和电影工作人员的图表。这些连接在非可视化展示中很容易被忽略。

Neo4j 可视化工具和产品

Neo4j 有两个主要的专门为 Neo4j 图数据库中的数据构建和设计的可视化工具:Neo4j BrowserNeo4j Bloom。我们在这里简要讨论每个工具的关键细节。

Neo4j Bloom

Bloom 是一款专注于可视化的产品,随每个 AuraDB 实例提供。它既可在 Neo4j Desktop 中使用,也可作为独立版本使用。它专为业务分析师和其他非开发人员设计,无需编写任何代码即可与图数据进行交互。

用户可以使用自然语言查询数据库,并探索图数据中的模式、聚类和遍历路径。还可以创建图的不同切片(称为视角/Perspectives),允许用户查看图数据的不同方面和切片,以进行进一步分析。

Neo4j Browser

Neo4j Browser 是一个面向开发者的交互式 Cypher® 命令外壳,允许您与图进行交互并可视化其中的信息。Neo4j Browser 与 Neo4j 捆绑在一起,适用于所有 Neo4j 版本和发行版。

其可视化功能旨在响应给定的 Cypher 查询,以节点图的形式呈现数据库中存储的基础数据,用圆圈表示节点,用线条表示关系。Neo4j Browser 还提供了一些基于节点标签和关系类型进行颜色和大小样式设置的功能,或者您可以通过导入 GRASS(图样式表)文件来自定义样式供 Neo4j Browser 引用。您还可以使用查询结果窗格上的内置下拉按钮轻松将数据导出为 PNG、SVG 或 CSV 格式

Neo4j 可视化库 (NVL)

如果您想构建自己的图可视化工具,可以使用 NVL(一组库)。Neo4j Bloom 和 Explore 中使用了相同的可视化效果。有关 NVL 的更多信息,请参阅 NVL 文档和 NVL API 文档。

图数据的替代可视化方式

并非所有的图可视化都用圆圈和线条来表示节点和关系。用户可能希望以各种基于图表、基于地图或 3D 格式查看数据。

基于图表的可视化

对于各种用户和业务需求,以熟悉的图表格式(如条形图、直方图、饼图、仪表盘、计量表和其他表现形式)查看数据可能更为合适。有一些工具支持这些类型的图表,用于指标分析和仪表板制作。

市面上有几种开源工具,我们在此列出之前使用过的一些链接。欢迎探索其他工具!

Tableau

Tableau 是一款数据分析工具,可以从各种来源获取数据,并根据用户规范混合或拆分数据。使用 Neo4j BI 连接器,您可以像连接其他 SQL 数据库一样在 Neo4j 和 Tableau 之间建立连接,并直接可视化数据。

数据进入 Tableau 后,用户可以通过拖放式 GUI 来汇总、拼接数据,并将各种数据组合样式化为无数格式的彩色可视化效果。

Chart.js

博客文章:Neo4j 图表化

Nivo

基于地图的可视化

图数据非常适合映射和表示地理数据,因为它是由实体和连接(位置/点以及到达这些位置的路线)布局的。Neo4j 可以帮助绘制纬度和经度、多边形几何图形、路线以及距离,因此在这些数据的前端叠加地图可视化工具,对于交互和探索特定区域具有很大的价值。

Tom Sawyer 和 Keylines 的商业工具也都支持这种类型的可视化。

Leaflet.js / Mapbox

Leaflet.js 是一个开源库,允许我们创建多个图层并显示/隐藏各种图层。它被设计为可交互的,并且可以在手机以及传统设备上运行。您可以使用各种插件扩展功能,包括 Mapbox。使用这些工具,您可以创建基础地图图层(例如地图瓦片),并将数据可视化实时叠加在这些瓦片上。Mapbox 还为您提供了添加交互式地图的功能。

热力图可视化

热力图是一种通过颜色表示数据值的数据可视化方式。它通常叠加在地图上,但也可能出现在矩阵上。当在地图上使用热力图时,活动点可能会分散,因此通常使用某种形式的插值法。

我们将列出到目前为止遇到的工具,随着我们接触更多工具,将会不断完善这一列表。

3D 可视化

增加第三个维度可能会增加可视化的一些复杂性,但也会增加价值。以 3D 形式探索数据可以帮助更好、更清晰地浏览大量数据。聚类在 3D 可视化中也应该更明显,因为当使用第三个维度时,数据可以分布得更开,而 2D 可能会导致组重叠或显示得过于紧凑。

Kineviz(商业工具)也支持这种类型的可视化。

3d-force-graph

使用这个开源库,有几个不同的组件用于处理三维背后的物理效果以及实际渲染可视化。它使用迭代方法进行 3D 渲染,并创建令人惊叹的交互式可视化效果。该工具包含自定义节点和关系样式的功能,以及容器布局、渲染控制、配置模拟和用户交互的功能。所需的数据结构与我们之前看到的工具类似,包括节点和关系集合。3d-force-graph 还提供了可与虚拟现实结合使用的可视化功能。

3d-force-graph 资源

其他类别

还有其他一些可视化工具可能不一定符合我们目前讨论的类别。相反,它们扩展了当前的界限,并找到了利用图技术的独特强大方式。跳出框架思考会进一步增加图技术的可能性!

Graphileon

Graphileon 是一个通过组合函数和 UI 元素来构建图应用程序的平台。它可以被顾问和设计师等用户利用来进行样式设计和制作仪表板。开发人员还可以与其他技术集成,以自定义应用程序、嵌入视图或扩展功能。

合作伙伴和社区可视化工具

除了 Neo4j 的产品外,合作伙伴和社区成员还构建了工具和集成,将 Neo4j 中的图数据与更多的图可视化工具连接起来。在下一节中了解有关这些工具的选项和功能的更多信息。