So I poked at the Cypher code, today, and added an expression called "sumcollect" (because I didn't want to compete with "sum", which is an aggregation thing). Surprisingly easy to get into--kudos to the Scala guys doing Cypher.
Looking for feedback: does this make sense? or am I thinking about this the wrong way... etc.
start n=node(1)
match p=n-[r*]->m
where not(m-->())
with p, extract(x in r: x.score) as scores, length(p) as len
return scores, sumcollect(scores), len;
+---------------------------------------+
| scores | sumcollect(scores) | len |
+---------------------------------------+
| [0.9,0.9] | 1.8 | 2 |
| [0.8,0.79] | 1.59 | 2 |
| [0.4,0.75] | 1.15 | 2 |
| [0.4,0.45] | 0.8500000000000001 | 2 |
+---------------------------------------+
4 rows
4 ms
Wes