There are two node types, Account
and Transfer
. A Transfer
signifies movement of funds between Account
nodes. Transfer
nodes may have any number of input and output nodes. For example, three Accounts
could each send $40 ($120 combined) to sixteen other Accounts
in any way they please and it would work.
The Transfer
object, as is, does not have the sum of the funds sent or received - those are only stored in the relationships themselves. I'd like to calculate this in the cypher query and return it as part of the the returned Transfer
object, not separately. (Similar to a SQL JOIN)
I'm rather new to Neo4j + Cypher; So far, the query I've got is this:
MATCH (tf:Transfer {id:'some_id'})
MATCH (tf)<-[in:IN_TO]-(in_account:Account)
MATCH (tf)-[out:OUT_TO]->(out_account:Account)
RETURN tf,in_account,in,out_account,out, sum(in.value) as sum_in, sum(out.value) as sum_out
If I managed this database, I'd just precalculate the sums and store it in the Transfer
properties - but that's not an option at this time.
tl;dr: I'd like to store sum_in
and sum_out
in the returned tf
object.