如何解决密码:在多条路径中的不同节点上循环
我有一个带有节点的neo4j图,我需要在从起点到终点的路径上的所有节点上增加一个标志。但是,即使它位于多个路径上,我也只需一次增加该标志。
我使用以下查询,但是很明显,它遍历了所有路径,因此该标志多次递增:
MATCH paths = (end:Operation)-[DEPENDS_ON*]->(start:Operation )
WHERE id(start) = 304
AND end.final = true
UNWIND [ops IN nodes(paths)] AS op
SET op.flag = op.flag + 1
如何展开或收集所有路径上的不同节点,然后增加属性?
解决方法
那呢?
WITH COLLECT(DISTINCT ops) AS distinctOps
MATCH paths = (end:Operation)-[DEPENDS_ON*]->(start:Operation )
WHERE id(start) = 304
AND end.final = true
UNWIND nodes(paths) AS ops
WITH COLLECT(DISTINCT ops) AS distinctOps
FOREACH (op IN distinctOps |
SET op.flag = op.flag + 1
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。