Пример: дан однонаправленный граф следующего вида:
CREATE
(b0:Bar {id:1, value: 1}),
(b1:Bar {id:2, value: 4}),
(b2:Bar {id:3, value: 3}),
(b3:Bar {id:4, value: 5}),
(b4:Bar {id:5, value: 7}),
(b5:Bar {id:6, value: 9}),
(b0)-[:NEXT_BAR]->(b1),
(b1)-[:NEXT_BAR]->(b2),
(b2)-[:NEXT_BAR]->(b3),
(b3)-[:NEXT_BAR]->(b4),
(b4)-[:NEXT_BAR]->(b5);
Запрос:
MATCH (b1)->[*1..5]->(b2)->(b3)->[*1..5]->(b4)
WHERE // тут нужно написать условие, что максимальное значение между value узлов b3 и b4 больше, чем максимальное значение value узлов b1 и b2
RETURN //b1_b2_max, b3_b4_max
То есть, результат должен быть следующим:
b1_b2_max | b3_b4_max
4 | 9
Подскажите, как мне узнать агрегированную информацию между определенными узлами (включая эти узлы)?
Как должен выглядеть мой запрос?