Решил таким образом:
Добавил в каждое ребро информацию о максимальном значении между вершинами и запрос получился следующего вида:
MATCH (b1)-[r1:NEXT_BAR*1..5]->(b2)-->(b3)-[r2:NEXT_BAR*1..5]->(b4)
UNWIND r1 AS maxes1
UNWIND r2 as maxes2
with b1, b2, b3, b4, maxes1, maxes2
return b1.id, b2.id, b3.id, b4.id, max(maxes1.max) as max1, max(maxes2.max) as max2
Насколько я понял, аналогичное можно сделать и без добавления информации в ребра, но тогда запрос получается сложнее, с вызовом nodes, переменными ...