场景操作

场景操作是参数化的 Cypher 查询,类似于 搜索词语。区别在于,在场景操作中,参数可以是当前选择中的选定元素,而不是图中所有可用且匹配的元素。此外,虽然场景操作是在透视图抽屉的“已保存 Cypher”下定义的,但它们是从上下文菜单中调用的。

场景操作可以作为 READ 或 WRITE 事务发送到数据库(前提是您具有相应的权限)。为了以 WRITE 事务发送,您需要首先在 设置 抽屉中启用此功能。Bloom 可以根据一些关键字检测到某些 WRITE 查询,如果您的查询不包含任何关键字,则需要选中“写入事务”框才能将事务作为 WRITE 发送。如果选中了“写入事务”框,则查询始终作为 WRITE 事务发送。

场景操作按创建顺序列出。Bloom 允许您通过拖放的方式随意重新排序。透视图抽屉中场景操作的顺序也反映在上下文菜单中。

scene action context

在以下示例中,使用 Northwind 图,基于场景中选定的节点创建(并保存)一个场景操作“已停产的产品”。当选择节点(s)时,此场景操作从上下文菜单中可用,并显示已从选定供应商那里停产的产品。

scene action

Cypher 函数 id 在 Neo4j 5 中已弃用,并将被删除。它被 elementId 替换。包含 id 的现有场景操作仍可以在 Neo4j 5 中使用,但任何新操作都应使用 elementId。但是,如果您使用 Neo4j 4.x,则必须使用 id

可以使场景操作仅对某些类别可用,您可以在“操作可用性”下拉菜单中控制此功能。

action availability

如果选择的是关系而不是节点,则“已停产的产品”场景操作将不可用,这是由于 Cypher 查询第二行中的 WHERE elementId(n) in $nodes 造成的。

scene action relationship

如果您编写一个场景操作,其中您的查询针对的是关系而不是节点,那么它们的定义方式类似,WHERE id(r) in $relationships。但是,如果您忘记了,Bloom 会提醒您。

只有 $nodes$relationships 之间的区别才会影响场景操作对选定元素的可用性。任何进一步的细化,例如示例中的 p.discontinued=true,从这个角度来看都会被忽略。例如,如果您选择了一个与任何已停产产品无关的 Supplier 节点,则“已停产的产品”场景操作仍然可用,但运行它不会产生任何结果。