neo4j - 如何在密码中的链表中间插入一个节点
问题描述
我在密码中使用链表模式来表示一些数据。
(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
推荐阅读
- gremlin - Gremlin - 用有意义的信息显示最短(最低成本)的路径
- python-3.x - 通过在熊猫中使用 groupby 保持行
- assembly - 试图了解 x86 上 alloca() 函数的汇编实现
- c - 如果服务器断开连接,c 中的套接字编程不会引发任何错误
- gatsby - 如何在 gatsby frontmatter 中使用单引号?
- swift - 不能在 Firebase 默认 authUI 中使用静默 APN,总是例外
- python - 是否可以在 AWS Aurora Postgres 11.6 的特定表中接收更改(插入、更新、删除)的更新
- python - 处理大文件(20GB+)时,如何在 python 中更快地进行文件解析和 I/O
- c++ - 警告:字符常量对于它的类型 car.second = 'Sarim' 来说太长了;
- node.js - 如何使用带有 JSON Web 令牌的有效负载中的 exp 设置过期时间