Я хотел бы выяснить все пары людей и несчастных случаев в следующем случае:
- Лица, которые участвовали как минимум в двух одинаковых авариях, когда они находились в двух разных автомобилях.
У меня всегда есть следующие отношения: Человек -> Автомобиль -> Авария
Я сделал упрощенный и воспроизводимый пример:
CREATE
(p1:Person {name: 'Paul'})-[:DRIVES]->(c1:Car {name: 'Car A'}),
(p2:Person {name: 'John'})-[:DRIVES]->(c2:Car {name: 'Car B'}),
(p3:Person {name: 'Mike'})-[:DRIVES]->(c3:Car {name: 'Car C'}),
(p4:Person {name: 'Joe'})-[:OCCUPANT]->(c1),
(p4)-[:OCCUPANT]->(c3),
(c1)-[:IS_DOER]->(a1: Accident {name: 'Crash 1'}),
(c2)-[:IS_VICTIM]->(a1),
(c2)-[:IS_DOER]->(a2: Accident {name: 'Crash 2'}),
(c3)-[:IS_VICTIM]->(a2) ;
И вот как выглядит график:
В этом примере я хотел бы вернуть пары («Джо», «Джон») и (« Cra sh 1 "," Cra sh 2 "), потому что Джо и Джон попали как минимум в две одинаковые аварии, находясь в разных автомобилях.
Спасибо за помощь.