UNWIND nextHits as transfer
MERGE (C1:Customer {CusNo = transfer.CusNo })
MERGE (C2:Customer){CusNo = transfer.CusNo })
WITH C1,C2, CASE transfer.type = 'Credit' WHEN TRUE THEN [1] ELSE [] END as creditList,
CASE transfer.type = 'Debit' WHEN TRUE THEN [1] ELSE [] END as deditList
FOREACH(x IN creditList| MERGE (C1)-[:Transfer]->(C2))
FOREACH(x IN debitList| MERGE (C2)-[:Transfer]->(C1))
RETURN C1,C2
мы используем выражение CASE здесь, чтобы создать список с одним элементом или без элементов на основе условия. И мы перебираем этот список для создания отношений. CASE transfer.type = 'Debit'
подразумевает, что тип передачи - «Кредит», поэтому в CreditList будет один элемент, а debitList будет пустым. Итак, мы объединяем отношение типа кредита один раз и дебетуем ноль раз. надеюсь, это поможет :)