场景操作

场景操作是参数化的 Cypher 查询,类似于 搜索短语。不同之处在于,在场景操作中,参数可以是当前选择中的已选元素,而不是图中所有可用且匹配的元素。另外,场景操作在透视抽屉的 已保存 Cypher 中定义,但它们是通过上下文菜单调用的。

Scene 操作可以作为 READ 或 WRITE 事务发送到数据库(前提是你拥有相应权限)。若要作为 WRITE 事务发送,需要先在 设置 抽屉中启用此功能。Bloom 可以根据一些关键字检测特定的 WRITE 查询,如果你的查询不包含任何关键字,你需要勾选 写入事务 复选框,以便将事务作为 WRITE 发送。如果勾选了 写入事务,查询将始终作为 WRITE 事务发送。

Scene 操作按创建顺序列出。Bloom 允许你在透视抽屉中通过拖放自由重新排序。透视抽屉中的顺序也会在上下文菜单中体现。

scene action context

在以下示例中,使用 Northwind 图创建(并保存)一个 Scene 操作 已停产产品,该操作基于场景中选中的节点。该 Scene 操作在选中节点时可从上下文菜单中获取,并显示所选供应商的已停产产品。

scene action

Cypher 函数 id 在 Neo4j 5 中已废弃,并将被移除。它被 elementId 取代。包含 id 的现有 Scene 操作在 Neo4j 5 中仍可工作,但任何新建的操作应使用 elementId。然而,如果你使用 Neo4j 4.x,必须使用 id

可以将 Scene 操作仅对某些类别可用,这在 操作可用性 下拉菜单中进行控制。

action availability

如果选择的是关系而不是节点,则 已停产产品 Scene 操作不可用,这是因为 Cypher 查询第二行的 WHERE elementId(n) in $nodes 所致。

scene action relationship

如果编写的 Scene 操作针对关系而非节点,它们的定义方式类似,WHERE id(r) in $relationships。然而,如果你忘记了,Bloom 会提醒你。

对于 Scene 操作的可用性,仅区分 $nodes$relationships 是否匹配所选元素。任何进一步的细化,例如示例中的 p.discontinued=true,在此视角下会被忽略。例如,即使选择的 Supplier 节点未关联任何已停产产品,Scene 操作 已停产产品 仍然可用,但执行时不会得到任何结果。