Neo4j 如何在cypher中的链接列表中间插入节点
我在cypher中使用链表模式来表示一些数据Neo4j 如何在cypher中的链接列表中间插入节点,neo4j,linked-list,cypher,Neo4j,Linked List,Cypher,我在cypher中使用链表模式来表示一些数据 (node1)-[:NEXT]>(node2)-[:NEXT]>(node3) 问题是如何在链表节点之间插入newNode。这样我就可以 例如,(node1)-[:NEXT]>(newNode)-[:NEXT]>(node2)-[:NEXT]>(node3) 在某些情况下,newNode可以位于列表的末尾或开头,解决方案需要考虑这些情况 有没有一种简单的方法可以在没有多个apoc.do.when调用的情况下完成此操作?您需要做的就是在新节点中垂直移动
(node1)-[:NEXT]>(node2)-[:NEXT]>(node3)
问题是如何在链表节点之间插入newNode
。这样我就可以
例如,(node1)-[:NEXT]>(newNode)-[:NEXT]>(node2)-[:NEXT]>(node3)
在某些情况下,newNode
可以位于列表的末尾或开头,解决方案需要考虑这些情况
有没有一种简单的方法可以在没有多个apoc.do.when调用的情况下完成此操作?您需要做的就是在新节点中垂直移动,然后删除旧的关系,例如。。。(我假设这里有一些属性)
这个知识库条目可能会有所帮助,谢谢,但我已经看过了。他们给出了创建链表但不插入或删除节点的基本示例。
MATCH (n1:Node {name:'node1'})-[r:NEXT]->(n2)
CREATE (n1)-[:NEXT]->(:Node {name: 'new Node'})-[:NEXT]->(n2)
DELETE r