macth语句对路径上的最后一个节点去重,逻辑为根据前面几个节点去重
关键筛选语法
AND reduce(isTrue = TRUE, rel IN nodes(p)[…size(nodes(p))-1] |
id(rel) != id(last(nodes(p))) AND isTrue)
reduce语法种 isTrue 可以看作初始判断条件变量,
rel IN nodes(p)[…size(nodes(p))-1] 语法意思: nodes(p)[…size(nodes(p))-1] 表示取路径上倒数第二个以后的节点组成列表
…size(nodes(p))-1 假设路径元素为[0,1,2],此时的列表就是[0,1]
id(rel) != id(last(nodes(p))) 这里是拿现在的列表也就是[0,1]的id跟最后一个元素的id进行比较筛选
last(nodes(p))表示取路径中最后一个节点
大致解释就是这样