探索查询结果
一个 openCypher 查询可以返回多种结果。 当查询返回实体或关系列表时,它们将显示在结果列表中,每行一个实体或关系。 查询返回的值将按照查询返回语句中列出的顺序显示在列中。
openCypher 查询可能会返回显示哪些实体与另一个实体具有给定关系的结果。 在这种情况下,结果表将为每个三元组显示一行,其中三元组由源实体、关系和目标实体组成。 例如,诸如 MATCH (p:Person)-[r]->(e) RETURN p,r,e 之类的查询将返回一个结果列表,结果表中的每一行代表一个人、该人与另一个实体之间的关系以及关系的目标实体。 在这种情况下,结果表将有一个标题为 p 的人员列,一个标题为 r 的关系列,以及一个标题为 e 的目标实体列。

相反,如果查询返回实体或关系的特定属性,则结果列表将在每列中显示这些值。 例如,诸如 MATCH (p:Person)-[:HasVehicle]->(v) RETURN p,v,v.year 之类的查询将返回 p 列中 Person 实体的显示名称、v 列中 Vehicle 实体的显示名称,以及 v.year 列中 Vehicle 实体的年份属性值。 如果实体没有查询所返回的特定属性的值,您将看到 (NULL) 作为没有值可显示的事实的表示。
下面的示例说明了一个查询,该查询返回一个 Person 实体,其中的人员参与了与车辆的 HasVehicle 关系。 该查询还返回 HasVehicle 关系的 acquisitionDate 属性,以及 Vehicle 实体的 make 属性。

包含实体
、关系
或出处记录的列将显示记录的显示名称及其图标。
第三种常见类型的查询将返回一个实体与另一个实体之间的路径。 路径将包含指定源实体和目标实体之间的所有实体及关系。 例如,诸如 MATCH path=(p:Person)-[r]->(e) RETURN path 之类的查询将返回通过一个关系连接到 Person 实体的任何实体的所有路径。

路径可以包含任意数量的实体和关系。 例如,诸如 MATCH path=(c:Company)-[r*2]-(v:Vehicle) RETURN path 之类的查询将返回正好相隔两个关系的 Company 实体和 Vehicle 实体之间的所有路径。 每条路径将包含源 Company 实体、每个中间实体和关系以及目标 Vehicle 实体。 默认情况下,它将仅显示路径中的源实体和目标实体以及路径中的记录总数。 单击展开
以查看完整路径结果。

路径可以作为查询结果的一个元素返回。 例如,相同的查询可以返回路径、源 Company 的名称以及目标 Vehicle 的年份。 MATCH path=(c:Company)-[r*2]-(v:Vehicle) RETURN path, c.name, v.year。

所有查询结果默认显示在表视图中。 在此视图中,可以选择查询结果,并查看查询返回的任何实体或关系的属性。
单击结果表中的实体
或关系
以查看其属性。或者,可以使用添加至
将此记录添加至另一个内容项目。单击第一列中的复选框可将该行中的所有实体和关系添加到您的选择中。
此行中的实体和关系将高亮显示。 其他结果行中显示的这些实体和关系的任何实例也将高亮显示。 所选记录的总数将显示在表格底部。

或者:
按住 Ctrl 键的同时单击实体
或关系
可从选择中仅添加该记录。单击表第一列标题中的复选框以选择查询返回的所有记录。
单击第一列中的复选框,可将该行中的所有实体和关系从您的选择中删除。
或者:
按住 Ctrl 键的同时单击实体
或关系
可从选择中仅移除该记录。取消选中第一列标题中的复选框以取消选择查询返回的所有记录。
使用选择管理器跨查询管理查询视图中的所选记录。
在地图或链接图表中预览结果
您也可以使用查询结果地图预览和查询结果链接图表预览在不同的可视化中预览查询结果。 在表视图中所做的任何选择都将反映在地图预览和链接图表预览中。 您可以使用交互式选择工具修改地图或链接图表预览中的选择。
单击结果菜单中的地图视图
可查看查询返回的空间实体的预览。
或者,使用交互式选择修改地图中的选择
单击结果菜单中的链接图表视图
可查看在链接图表中可视化的查询结果的预览。
或者,使用交互式选择修改地图中的选择
单击结果菜单中的表视图
可返回到结果表。使用选择管理器跨查询管理查询视图中的所选记录。
使用图表预览查询结果
您也可以使用图表视图以不同方式可视化查询结果。 可以配置多种类型的图表,用于可视化查询结果中的特征和关系。 您也可以选择如何在图表中聚合查询结果。 可以在图表中选择结果,并将其添加至地图或链接图表。 图表配置未包含在存储的查询中。
Knowledge Studio 支持以下图表类型:
| 图表 | 描述 |
|---|---|
| 条形图沿 x 轴按类别对数据进行分组。 使用条形图汇总并比较分类数据。 | |
| 箱形图显示一个或多个数值属性的分布。 使用箱形图可通过其四分位数来显示和比较数值的分布与集中趋势。 | |
| 热力图使用彩色单元格矩阵可视化数据。 使用热力图以可视化类别变量之间的相关性、密度或模式。 | |
| 直方图用于可视化数值属性的分布。 使用直方图可视化数字变量中的值的分布,方法是将数字分组到条柱中,然后测量这些组的频数。 |
配置图表以汇总查询结果。
单击结果菜单中的图表视图
。在图表设置下,选择图表聚合方法。
单击图表类型下拉菜单并选择要创建的图表类型。
配置图表参数。
单击应用。
图表随即显示在图表视图中。
(可选)在图表中选择结果。
在上下文工具栏中,单击添加至
,然后单击相应选项以将图表选择内容添加至地图或链接图表。在添加至新建项下,单击地图
以在工程中创建地图。单击添加至新建项下的来自模板的地图
,然后选择要用作模板的地图。 单击添加。在添加至新建项下,单击链接图表
以在工程中创建链接图表。单击添加到新建项下的来自模板的链接图表
,然后选择要用作模板的链接图表。 单击添加。在添加至现有项下,单击现有地图或链接图表的名称。
随即将选择内容添加至地图或链接图表。
使用图表聚合
借助图表聚合设置,您可以配置图表组织和预览查询结果的方式。 它还将确定在图表中所做的选择如何反映在表视图中。 图表聚合方法如下所述:
表行 - 将使用查询结果表中的行和列。 当列中返回实体或关系时,其属性也可用于图表绘制。 在图表中所做的选择将应用于表视图中用于该图表选择的整个行。 如果在选定的行中返回了实体和关系,则无论其出现在表格视图的任何位置,其都会处于选中状态。
实体和关系 - 仅使用查询结果中的唯一实体和关系,并按其类型对其进行分组。 其属性将成为可用于图表绘制的字段。 在图表中所做的选择仅应用于表格视图中的单个实体或关系,不考虑返回实体或关系的行或列。
借助图表聚合方法,您可以通过不同的方式创建查询结果的可视化,而无需新查询。 例如,以下 openCypher 查询使用多种关系类型查找连接特定供应商与相距一跳至四跳的工厂或其他供应商的供应链路径。 然后,它会聚合沿每条路径的所有零件实体的成本,并同时返回路径和总成本。
MATCH path=(supplier:Supplier)-[:supplies|:raw_supplies|:produces|:purchased_by*..4]-(facility)
WHERE (facility:Plant OR facility:Supplier) and supplier.globalid IN $supplier
WITH nodes(path) AS allNodes, path, supplier, facility
UNWIND allNodes AS node
WITH node, path, supplier, facility
WHERE node:Part
WITH ROUND(SUM(node.COST) * 100) / 100.0 AS totalCost, path, supplier, facility
RETURN supplier, facility, totalCost, path
使用此查询在条形图中可视化供应商角色时,根据所采用的图表聚合方法,可以呈现不同的信息,从而回答不同的问题。 此外,在图表上所做的选择将根据聚合方法的不同而发生变化。 以下屏幕截图比较了图表视图中返回的结果:
表格行聚合方法会返回以每种角色的供应商为起点的不同路径或网络的数量。 如果某个供应商是多条不同路径的起点,则每条路径都会计入该供应商角色。 选择某个条柱将选择表格行中起点供应商属于该层级的所有实体和关系,其中包括路径中的任何其他零件、工厂或供应商。

相比之下,实体和关系聚合方法将返回任意路径中任意位置返回的每种类型的不同供应商的总数,而与该查询结果中返回的表格行无关。 选择某个条柱将仅选择该角色的各个供应商。

通过使用不同的聚合方法,您可以确定实体和关系在图表视图中的呈现方式,以回答不同的问题。