neo4j - 使用调用 apoc.refactor.cloneNodesWithRelationships 后无法保留关系方向
问题描述
我正在使用 neo4j 社区版 3.0.6 和 apoc 3.0.8.6。我遇到了这个问题,我试图复制一个已经有多个关系的节点。然后,当我使用 call apoc.refactor.cloneNodesWithRelationships([node1,node2,...]) 时,节点及其关系被复制。但是关系方向是错误的。附上下面的图片。正如您在图像中看到的,AB 之间的关系方向是错误的。似乎在那里创建的所有关系都被视为外向关系。这是 apoc 3.0.8.6 上的一个错误,还是有任何关于这个问题的解决方案?
解决方案
关于这个问题的更新。抱歉,只是发现这是我的查询错误。我确实使用了这样的查询。
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
显然,我有一个案例,与具有 r.id 的 B 没有任何关系,因此 copyIds 不知何故没有返回到结果查询中。使它看起来像交易问题。
感谢所有帮助
推荐阅读
- python - 应用命令“python manage.py runserver”时 django-helpdesk 出错
- c# - 使用 DeserializineAsync (JSON/C#) 调用 Web API 以获取特定信息
- c# - 在 U-SQL 脚本的动态文件夹中写入 .dsv 文件
- python - ndarray 类型的对象不能使用 TabPy (Python) 进行 JSON 序列化
- javascript - Javascript:使用热键在 Chrome 中打开弹出窗口
- java - Firebase 实时数据库 注销 Google 帐户
- visual-studio - 如何使用 Visual Basic 获取 TIFF 的高度和宽度
- python - 如何在带有Qtable视图的python pyqt5中添加复选框
- hive - 顶点失败。Azure HDINSIGHT 配置单元中的内存不足错误
- docker - 使用非root用户时openvpn容器出错