图可视化工具

图可视化的类型

大多数图可视化工具可分为三大架构类别。您将了解这些类别如何处理导出的数据,并了解不同架构的优缺点。根据可视化需求,其中一个类别可能会定义您可以选择作为业务需求解决方案的工具集。

1. 独立产品工具

某些工具和产品被设计为独立的应用程序,无需任何代码即可连接到 Neo4j 并与存储的数据进行交互。这些应用程序是为非开发人员设计的——供业务分析师、数据科学家、经理和其他用户以节点图格式与 Neo4j 交互。

这些工具中的许多都涉及商业许可和支持,但可以根据您的用例和自定义要求进行专门配置。它们也几乎不需要或根本不需要开发人员的集成时间和设置。

接下来的段落将帮助我们了解该领域的产品类型。

Neo4j Bloom

Neo4j Bloom 是一款数据探索工具,可将数据以图的形式可视化,并允许用户无需任何查询语言或编程即可导航和查询数据。

用户可以编写类似于自然语言问题的模式来检索数据并遍历图的层级。当发现信息缺失或数据错误时,Bloom 还允许适当的用户编辑、更新或更正图。

Neo4j Bloom 提供以下格式

  • 本地 Neo4j Bloom,用户通过 Neo4j Desktop 访问 Bloom(本地数据库实例免费)

  • Neo4j Bloom 服务器版,用户通过网络浏览器访问 Bloom

  • 通过 沙盒 使用 Neo4j Bloom

  • 通过 Neo4j 数据库即服务 AuraDB 使用 Neo4j Bloom

  • 包含在 Neo4j 创业计划

Bloom 资源

NeoDash

NeoDash 是一款开源、低代码的 Neo4j 仪表板构建器。作为 Neo4j Labs 的一部分,NeoDash 通过在线 社区 进行开发和支持。

NeoDash 允许您构建一个包含表格、图表、条形图、折线图、地图等交互式仪表板。仪表板可以直接从您的 Neo4j 数据库中保存和共享。

  • 具有拖放界面的低代码仪表板构建器

  • 直接从 Cypher® 创建可视化

  • 能够向仪表板添加自定义和交互性

  • 构建并发布仪表板以供只读访问

NeoDash 资源

GraphXR

GraphXR 是一个从头到尾的基于网络的交互式分析可视化平台。对于技术用户而言,它是一个高度灵活和可扩展的环境,用于进行临时分析。对于业务用户而言,它是一个直观的工具,可用于免代码调查和获取洞察。

  • 从 Neo4j、SQL 数据库、CSV 和 JSON 中收集数据。

  • 使用内置工具和 API 调用进行清洗和丰富。

  • 在统一的动画上下文中分析链接、属性、时间序列和空间数据。

  • 保存回 Neo4j,输出为报告,或嵌入到您的网页中。

GraphXR 支持广泛的应用,包括执法、医学研究和知识管理。

Kineviz 还提供了此工具的图应用程序版本,可以安装在 Neo4j Desktop 中。有关图应用程序的博客文章已包含在以下资源中。

yFiles

yWorks 提供了复杂的图、图表和网络可视化解决方案,其产品是 yFiles——一个高质量的商业软件编程库系列。yFiles 库使您能够轻松创建由 Neo4j 支持的复杂图应用程序。它们支持最广泛的桌面和 Web 技术以及布局算法,并具有最高的质量和性能。凭借广泛的可扩展性和丰富的功能集,可以满足您的所有可视化需求。

yWorks 还提供了一个基于 yFiles 技术的免费图探索器应用程序。它可以安装在 Neo4j Desktop 中。

Linkurious Enterprise

Linkurious Enterprise 是一个基于本地和浏览器的平台,它在图数据库之上运行。它为负责检测和分析大量关联数据中威胁的分析师带来了图可视化和分析能力。法国经济和财政部、苏黎世保险公司或蒙特利尔银行等组织使用 Linkurious Enterprise 打击金融犯罪、恐怖网络或网络威胁。

Graphistry

Graphistry 为大数据和复杂数据时代带来了人性化界面。它自动将您的数据转换为交互式、可视化的调查地图,以满足分析师的需求。无需编写查询或整理数据,即可快速揭示事件和实体之间的关系。利用所有数据,无需担心规模问题,并随时进行枢轴分析,以跟踪您的调查所到之处。

Graphistry 适用于从安全、欺诈和 IT 调查到客户和供应链 360 度视图的各种应用,将数据的潜力转化为人类洞察和价值。

Graphistry 资源

Graphlytic

Graphlytic 是一款高度可定制的 Web 应用程序,用于图可视化和分析。用户可以交互式地探索图,使用 Cypher 语言查找模式,或使用过滤器查找任何图问题的答案。图渲染使用 Cytoscape.js 库完成,这使得 Graphlytic 能够渲染数万个节点和数十万个关系。

该应用程序提供三种方式:桌面版、云版和服务器版。Graphlytic Desktop 是一个免费的 Neo4j Desktop 应用程序,只需点击几下即可安装。云实例非常适合需要在很短时间内启动和运行的小型团队。Graphlytic Server 由拥有高度敏感数据且通常在封闭网络中的公司和机构使用。

Perspectives

Tom Sawyer Perspectives 是一个强大的平台,用于构建企业级图和数据可视化及分析应用程序。它是一个完整的图可视化软件开发工具包 (SDK),具有基于图形的设计和预览环境。该平台将企业数据源与强大的图可视化、布局和分析技术集成,以解决大数据问题。企业、系统集成商、技术公司和政府机构使用 Tom Sawyer Perspectives 构建广泛的应用程序。

Perspectives 资源

Keylines

KeyLines 使您能够轻松快速地构建和部署高性能网络可视化工具。您的应用程序的各个方面都可以根据您、您的数据以及您需要回答的问题进行定制。KeyLines 应用程序可在任何设备和所有常用浏览器上运行,以触达所有需要使用它们的用户。它还兼容任何 IT 环境,让您可以将网络可视化应用程序部署到无限数量的不同用户。您可以构建一个可扩展且易于使用的自定义应用程序。

Keylines 资源

Semspect

SemSpect 是一款高度可扩展的知识图谱探索工具,它使用视觉聚合来解决标准图可视化方法所面临的“毛球问题”。探索树的数据引导构建使用户能够直观地构建复杂请求,而无需查询语法。其元级别方法对于掌握图数据的整体结构非常有效,同时灵活访问节点和关系详细信息可确保轻松检查和过滤。SemSpect 此外还允许在探索过程中定义基于查询的节点标签,以完善图数据模式。

SemSpect 可通过以下方式获取

  • 适用于 Neo4j Desktop 的 SemSpect 图应用程序(本地数据库实例免费)

  • 适用于 Neo4j 数据库服务器的 SemSpect Web 应用程序

Semspect 资源

可视化资源

2. 带有内置 Neo4j 连接的可嵌入工具

这些工具可以作为应用程序中的依赖项包含在内,并且可以轻松地为您的应用程序和 Neo4j 进行配置和样式设置。每个工具都可以使用配置属性轻松连接到图数据库实例,并允许您根据节点、关系或特定属性设置可视化样式。

将可视化嵌入到应用程序中,开发人员可以创建包含可视化作为用户界面一部分的应用程序。这也意味着开发人员可以编写其他组件,并根据确切的业务需求定制应用程序体验和应用程序中涉及的其他组件。

缺点是,这些库通常不支持极其复杂或繁重的工作负载,并且没有供应商支持或功能请求的 SLA。由于它们由社区管理,因此这些工具的运行依赖于社区的支持和功能改进。此外,这通常意味着我们的客户端应用程序直接连接到数据库,这可能并非总是理想的架构。

让我们看看此类中的一些工具。

Neovis.js

该库旨在将 JavaScript 可视化与 Neo4j 无缝集成。连接到 Neo4j 简单直接,并且由于它是基于 Neo4j 的属性图模型构建的,因此 Neovis 期望的数据格式与数据库对齐。根据标签、属性、节点和关系自定义和着色样式都在单个配置对象中定义。使用 Neovis.js 无需编写 Cypher,只需少量 JavaScript 即可集成到您的项目中。

Neovis 库是我们的 Neo4j Labs 项目之一。要了解有关 Neo4j Labs 的更多信息,请访问我们的实验室页面

为了通过可视化最大限度地发挥功能和数据分析能力,您还可以将此库与 Neo4j 中的图算法库结合使用,以根据 PageRank、中心性、社区等算法的结果来设置可视化样式。下面,我们看到一个由 neovis.js 渲染的《权力的游戏》角色交互图可视化,并通过将 PageRank社区检测 算法应用于可视化样式,使用 Neo4j 图算法进行了增强。

使用这些算法增强图可视化的一个优点是我们可以直观地解释这些算法的结果。

Neovis.js 资源

Popoto.js

Popoto.js 是一个基于 D3.js 构建的 JavaScript 库。Popoto.js 将帮助用户以可视化的方式构建查询以针对 Neo4j 执行。用户还可以自定义结果和视觉显示。除了可视化之外,您还可以包含潜在查询的自动完成搜索、查看从可视化生成的 Cypher 翻译、查看查询的文本结果等等。

要在您的应用程序中使用 Popoto.js,您只需在 HTML 页面中包含每个独立绑定到容器 ID 的组件即可。其余内容将从该组件生成。

Popoto.js 资源

3. 无需直接连接 Neo4j 的可嵌入库

这些库提供了在应用程序中嵌入图可视化的能力,但无需直接连接到 Neo4j。这里的优点是,您可以使用从连接到数据库的 API 应用程序发送的数据来填充可视化,从而确保客户端应用程序不会直接查询数据库。然而,缺点是您通常必须将 Neo4j 的导出结果转换为这些库所期望的格式。

接下来的段落中,您将更详细地了解这些工具。

Neo4j 可视化库 (NVL)

NVL 是一组库的集合,可用于构建自定义图可视化,例如 Neo4j Bloom 和 Aura 控制台中的 Explore 所使用的可视化。NVL 使用 TypeScript 编写,可在任何 JavaScript 项目中使用。它也可用作 React 组件,可在 React 应用程序中使用。

NVL 资源

D3.js

D3 网站上的第一句话是:“D3.js 是一个用于基于数据操作文档的 JavaScript 库。” 您可以将不同类型的数据绑定到 DOM,然后在其上执行不同类型的函数。其中一个函数包括从 DOM 中的数据生成 SVG、canvas 或 HTML 可视化。

Neo4j 的电影示例应用程序使用 d3.js,您还可以找到许多其他使用 Neo4j 和 d3 的项目。D3(或任何没有直接 Neo4j 连接的可嵌入库)的复杂之处在于将您的图数据转换为导出所需的映射格式。D3 期望两种不同的图数据集合——一种用于 nodes[],一种用于 links[](关系)。每个映射都包含每个节点和关系的属性数组,d3 然后将其转换为圆形和线条。d3.js 的版本 4 和 5 还支持力导向图,其中可视化会根据用户的视图窗格进行调整。

D3.js 资源

Vis.js

该库提供了多种可视化效果,旨在处理大型动态数据集。有多种格式可用于设置数据样式,包括时间线、数据集、graph2d、graph3d 和网络。与 Neo4j 最常见的格式是网络可视化。

即使是网络格式,也有大量可用于节点、标签、动画、着色、分组等样式设置的自定义选项。如需更多信息并查看所有可用内容,请查阅下方资源中链接的文档和示例。

Vis.js 资源

Sigma.js

尽管有些库旨在将所有功能打包在一起,但 Sigma.js 宣称其具有高度可扩展的环境,用户可以添加扩展库或插件以提供额外功能。该库接受 JSONGEXF 格式的导出数据。

用户可以从开箱即用的基本可视化开始,然后添加自定义函数和渲染以满足样式偏好。一旦需求超出其能力范围,用户可以编写和使用自己的自定义插件来实现特定功能。不过,请务必查看存储库,了解任何现有扩展!

Sigma.js 资源

Vivagraph.js

Vivagraph.js 旨在处理不同类型的布局算法以排列节点和边。它管理从很小到非常大的数据集大小,并以 WebGL、SVG 和基于 CSS 的格式进行渲染。自定义和样式可通过 CSS 修改和扩展库获得。它还可以跟踪图中更新相应的可视化的更改。

Vivagraph.js 资源

Cytoscape.js

该库也旨在可视化和渲染网络节点图,并为附加功能提供自定义和可扩展性。Cytoscape.js 响应用户交互,并在触摸屏界面上运行,允许用户以与其相关的方式进行缩放、点击和探索。您可以使用各种样式组件自定义样式和网页视图。

Cytoscape.js 资源

© . All rights reserved.