如何解决将一个节点链替换为graphdb中的另一个节点链?像字符串替换
假设我有一个节点链/列表:
(:node {uid:333})-->(:node {uid:102})-->(:node {uid:155})-->...
我想用另一个节点链替换一个或几个连续的节点。
(:node {uid:255})-->(:node {uid:107})
在我看来,要实现此目的的操作数量太多,无法在单个查询中进行。
1. input [255,107]
2. create the (255)-->(107)
3. find the place where to insert in the original chain
4. connect this node to (255)-->(107)
5. connect the tail-107 to the original chain (if it does not end)
6. delete the part to be replaced..
问题在于,如果不是单个查询,它将变得更加复杂。
您将如何执行此操作? (必须像字符串替换一样工作)
一种简化方法是找到链中的位置并使用索引。
解决方法
希望我能正确理解您的问题
MATCH ({uid:333})-[]->(s {uid:102})-[e0]->({uid:155})-[e1]->()
CREATE (s)-[:R]->({uid:255})-[:R]->({uid:107})
DELETE e0,e1
MATCH将找到您要修改的链。
CREATE将引入新的子链。
DELETE将断开要替换的原始子链的连接,具体取决于您的用例,您可能希望删除替换的节点而不是边缘。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。