RedisGraph:合并节点并移动所有关系?

RedisGraph:合并节点并移动所有关系?,graph,cypher,graph-databases,redisgraph,Graph,Cypher,Graph Databases,Redisgraph,在使用Cypher/python的RedisGraph中,有没有一种方法 合并两个节点并将所有关系从旧节点移动到新节点 我怀疑没有纯密码解决方案。。。在这种情况下,什么是等效的原子操作,以及如何组合它们以实现合并节点+rel neo4j有apoc.refactor.mergeNodes(节点,选项),apoc.refactor.mergeRelationships(rels,options),但这对我没有帮助(因为我正在使用RedisGraph 问题是,在RG中,我没有较低级别的权限以编程方式进

在使用Cypher/python的RedisGraph中,有没有一种方法

合并两个节点并将所有关系从旧节点移动到新节点

我怀疑没有纯密码解决方案。。。在这种情况下,什么是等效的原子操作,以及如何组合它们以实现合并节点+rel

neo4j有apoc.refactor.mergeNodes(节点,选项),apoc.refactor.mergeRelationships(rels,options),但这对我没有帮助(因为我正在使用RedisGraph

问题是,在RG中,我没有较低级别的权限以编程方式进行枚举/迭代



这在一个方向上起作用,我必须应用->相反的我认为这可以用纯密码实现:

MATCH (old {val: 'old'})-[e:E]->(old_to)
MERGE (new {val: 'new'})
CREATE (new)-[e2:E]->(old_to)
SET e2.prop1 = e.prop1, [...]
DELETE e

这里最麻烦的是所有的边属性(和节点属性,如果它们也要迁移的话)必须显式设置,因为RedisGraph当前不支持设置属性映射。

如果节点同时具有in和out连接,该方法是否可行匹配公式可以扩展以捕获传入连接,如:
MATCH(old_-from)-(e_-from]->(old{val:'old'})-(e_-to]->(old_-to)
以及对后续CREATE和SET子句所做的相关更改。
MATCH (old {val: 'old'})-[e:E]->(old_to)
MERGE (new {val: 'new'})
CREATE (new)-[e2:E]->(old_to)
SET e2.prop1 = e.prop1, [...]
DELETE e