使用 Spanner Graph 可视化图表

Spanner Graph 可视化图表可以显示查询返回的图表元素或图表架构元素。可视化图表可帮助您了解数据点(节点)的连接方式(边缘)。虽然包含数百个数据点的表可能难以解读,但其图表可视化效果可以揭示模式、依赖关系和异常情况。

直观呈现 Spanner Graph 查询结果

如需在 Spanner Studio 中直观呈现 Spanner Graph 查询结果,查询必须使用 SAFE_TO_JSONTO_JSON 函数以 JSON 格式返回图表元素。建议您返回图表路径,而不是单独返回节点和边缘。返回路径具有以下优势:

  • 路径包含节点和边缘的完整数据。如果您返回的是各个节点和边缘,则复杂查询的可视化图表中的某些中间节点和边缘可能不可用。

  • 如果您返回路径,则 RETURN 语句的复杂程度会低于单独返回节点和边缘的复杂程度。

以下示例查询会返回账号转移的路径,您可以直观呈现这些路径:

GRAPH FinGraph
MATCH result_paths = (account:Account {is_blocked: True})-[:Transfers]->(dest_account:Account)
RETURN SAFE_TO_JSON(result_paths) AS result_paths

运行查询后,查询结果区域会显示可视化图表。详细信息面板会显示节点和边缘的标签摘要,以及每个标签的计数。点击节点或边缘即可浏览图表并查看属性、近邻项和连接,如以下屏幕截图所示。或者,您也可以将查询结果视为表,或切换为显示底层图表架构的可视化图表

查询结果切换按钮。

如需了解详情,请参阅以 JSON 格式返回图表元素

选择 Spanner Graph 可视化图表布局

可视化图表面板上的菜单提供以下布局选项:

  • 强制布局(默认):将节点显示为相互排斥的点,同时连接的节点会相互吸引,模拟物理力以创建直观的布局。

  • 分层:根据连接性定位节点,以创建视觉层次结构。

  • 顺序:根据连接性定位节点,以创建视觉序列。

  • 显示标签:在所有缩放级别下,显示图表中的所有节点和边缘标签。

直观呈现 Spanner Graph 架构

Spanner Graph 的结构(例如其节点、边、标签和属性)由其架构定义,该架构将图表元素映射到 Spanner 表中的数据。图定义可以存储在您使用输入表创建的架构中,也可以在使用无架构数据管理时从数据中显式获取。

您可以直观呈现使用架构创建的图表,也可以直观呈现使用无架构数据管理的图表。直观呈现架构有助于您了解图的结构,包括其中包含的节点和边的类型以及它们的连接方式。这对于复杂的图表非常有用,可以清晰地显示仅从 DDL 语句中可能难以推断出的关系。

您可以在Google Cloud 控制台中通过以下任一方式查看 Spanner Graph 架构的可视化图表:

  • 查看 Spanner Graph 查询结果的可视化图表时,请在查询结果面板的结果标签页中点击切换到架构视图

    切换到架构视图按钮。

  • 探索器窗格中,点击 Spanner Graph 上的查看架构

    1. 在 Google Cloud 控制台中,打开 Spanner 页面。

      转到 Spanner

    2. 从列表中选择一个实例。

    3. 选择数据库。

    4. 在导航菜单中,点击 Spanner Studio探索器窗格会显示数据库中的对象列表。

    5. 点击 Spanner 图上的 查看操作,然后点击查看架构

排查 Spanner Graph 可视化图表问题

以下内容可帮助您排查和了解 Spanner Graph 可视化图表问题和行为。

Spanner Graph 查询未显示可视化图表

问题:您运行 Spanner Graph 查询,但该查询仅以表格式显示。

可能的原因:查询未以 JSON 格式返回图表元素。例如:

  • 以下查询会返回节点和边缘标识符,因此无法直观呈现:
GRAPH FinGraph
MATCH (person:Person {name: "Dana"})-[owns:Owns]->(account:Account)
RETURN person.id as person_id, account.id as account_id
  • 以下查询会返回属性值,因此无法直观呈现:
GRAPH FinGraph
MATCH (person:Person {name: "Dana"})-[owns:Owns]->(account:Account)
RETURN owns.create_time, account.nick_name

推荐的解决方案

使用 SAFE_TO_JSONTO_JSON 以 JSON 格式返回图表元素。如需了解详情,请参阅直观呈现 Spanner Graph 查询结果

Spanner Graph 查询结果部分可视化

问题:查询结果的可视化图表仅显示部分查询结果。

可能的原因:查询返回的数据超过 10 MB。查询可视化图表最多可显示 10 MB 的数据。

推荐的解决方案:简化查询,使其返回的数据量小于 10 MB。

Spanner Graph 可视化图表包含具有意外标签的节点或边缘

问题:Spanner Graph 可视化图表中的节点或边缘显示意外标签。

可能的原因:节点或边缘具有多个标签。Spanner Graph 可视化图表可以为每个节点和边缘显示一个标签。如果节点或边缘具有多个标签,则可视化图表中会显示第一个标签。

推荐的解决方案:无。您无法更改显示的标签。

某些图表元素未显示在 Spanner Graph 可视化图表中

问题:可视化图表包含所有返回的节点和边缘,但部分图表元素未显示。

可能的原因:用于创建 Spanner Graph 可视化图表的查询返回的是各个节点和边缘,而不是图表路径。

建议的解决方案:更新查询以返回图表路径。

后续步骤