NEO4j Cypher:如何将一个值设置为其他两个值的最大值
我需要回顾性地将relationship属性设置为它所连接的2个节点的最大值 这个sudo代码就是我要做的NEO4j Cypher:如何将一个值设置为其他两个值的最大值,neo4j,cypher,Neo4j,Cypher,我需要回顾性地将relationship属性设置为它所连接的2个节点的最大值 这个sudo代码就是我要做的 MATCH (a)-[r:Follows]->(b) SET r.prop = MAX(a.prop, b.prop) 但是MAX不是那样工作的,它是用来从集合中找到MAX的 有什么办法吗 这可能是最简单的案例 你确定吗?我遇到错误:函数“max”的参数太多。我认为MAX操作的是一个结果列,比如COLLECT和COUNT,所以上面的MAXa.prop会在查询中匹配的a:s中给出最高
MATCH (a)-[r:Follows]->(b) SET r.prop = MAX(a.prop, b.prop)
但是MAX不是那样工作的,它是用来从集合中找到MAX的
有什么办法吗 这可能是最简单的案例
你确定吗?我遇到错误:函数“max”的参数太多。我认为MAX操作的是一个结果列,比如COLLECT和COUNT,所以上面的MAXa.prop会在查询中匹配的a:s中给出最高的prop值。编辑。是否匹配。。。使用r,[a.prop,b.prop]作为val将val作为val展开,使用r,MAXval作为max_val设置r.prop=max_val工时?以这种方式收集和展开值会将它们放在同一个“结果列”中,因此可以对它们使用MAX。也许还有更好的办法。
MATCH (a)-[r:Follows]->(b)
SET r.prop = CASE WHEN a.prop > b.prop THEN a.prop ELSE b.prop END;