我正在使用neo4j社区版3.0.6和apoc 3.0.8.6。 我在尝试复制已经具有多个关系的节点时遇到了这个问题。 然后,当我使用调用apoc.refactor.cloneNodesWithRelationships([node1,node2,...])时,将复制节点及其关系。 但是关系方向是错误的。 附下图。如您在图像中看到的,A-B之间的关系方向错误。好像在那里创建的所有关系都被视为外向关系。 这是apoc 3.0.8.6的错误还是有关此问题的解决方案?
答案 0 :(得分:1)
有关此问题的更新。抱歉,但是发现这是我的查询错误。 我确实使用过这样的查询。
MATCH (p:A)-[r1:A_has_B]->(l:B)
WHERE p.id IN {0} WITH COLLECT(l) as oldBList
CALL apoc.refactor.cloneNodesWithRelationships(oldBList) YIELD output
CALL apoc.create.uuid() YIELD uuid SET output.id = uuid
WITH COLLECT(output.id) as copiedIds
MATCH (l2:B)-[r1]-()
WHERE l2.id IN copiedIdsAND r1.id IS NOT NULL
CALL apoc.create.uuid() YIELD uuid
SET r1.id = uuid
WITH copiedIds as copiedIds
UNWIND(copiedIds) as result
RETURN result
很显然,我有一个与B没有任何关系且具有r.id的情况,因此copyIds不知何故没有返回到结果查询。使它看起来像是交易问题。
感谢所有帮助
答案 1 :(得分:0)
我看到您为此创建了APOC issue #936,它似乎是issue #229的副本。
我已将a comment添加到第229号问题中,以分析APOC错误。