能否在Neo4j Bloom中通过Scene Action创建不写入数据库的虚拟边?
在Neo4j Bloom中创建仅场景显示的虚拟关系
你不需要用MERGE语句来创建关系——MERGE会直接修改数据库,这正是你不想看到的结果。要实现仅在Bloom场景中显示、不写入数据库的虚拟关系,只需要在查询的RETURN环节构造一个模拟关系结构的Map即可,Bloom会渲染这条边但不会持久化到数据库。
修改后的查询语句如下:
MATCH (e1)<-[re]-(p1) MATCH (p1)<-[sr]-(t1)-[rs]->(p2) MATCH (p2)-[re2]->(e2) WHERE id(e1) in $nodes // 构造虚拟关系结构,而非修改数据库 RETURN e1, {type: 'NEW_REL', start: id(e1), end: id(e2)} AS new_rel, e2
关键说明:
- 返回的
new_rel是一个包含type(关系类型名称)、start(起始节点ID)、end(结束节点ID)的Map,Bloom会识别这个结构并在场景中渲染出对应的边。 - 这种方式不会对数据库产生任何修改,所有虚拟关系仅存在于当前Bloom场景中。
清除虚拟关系:
当需要移除这些虚拟边时,直接在Bloom场景中操作即可:
- 通过场景的查询历史撤销该动作;
- 选中虚拟边后执行删除操作,它们只会从当前场景中消失,不会影响数据库。
内容的提问来源于stack exchange,提问作者Ekneumann
相关产品推荐
相关产品推荐

