首页 > 解决方案 > 如何在密码中的链表中间插入一个节点

问题描述

我在密码中使用链表模式来表示一些数据。

(node1)-[:NEXT]->(node2)-[:NEXT]->(node3)

问题是如何newNode在链表节点之间插入。所以我得到

(node1)-[:NEXT]->(newNode)-[:NEXT]->(node2)-[:NEXT]->(node3)例如。

在某些极端情况下,newNode可以在列表的末尾或开头,解决方案需要考虑它们。

没有多个 apoc.do.when 调用,是否有一种优雅的结束简单方法?

标签: neo4jlinked-listcypher

解决方案


您需要做的就是在新节点中探查,然后删除旧的关系,例如......(我在这里假设一些属性)

MATCH (n1:Node {name:'node1'})-[r:NEXT]->(n2)
CREATE (n1)-[:NEXT]->(:Node {name: 'new Node'})-[:NEXT]->(n2)
DELETE r

推荐阅读