Итак, у меня есть узел :Customer
, который имеет множество узлов :Order
, и :Order
имеет 1 отношение к узлу :Shipper
, называемое :SHIP_VIA
, здесь есть иерархия:
(customer:Customer)-[:PURCHASED]->(order)-[:SHIP_VIA]->(shipper:Shipper)
теперь есть только 3 грузоотправителя, и на них указывают Заказы, и у клиента будет много заказов. Поэтому мой вопрос как получить всех клиентов, которые отправили со всеми грузоотправителями? Обратите внимание, что у каждого грузоотправителя есть атрибут shipperID
внутри. вот мой код, но он не работает, за исключением одного "где существует"
match (customer:Customer)-[:PURCHASED]->(order)-[:SHIP_VIA]->(shipper:Shipper)
WHERE exists((customer)-[:PURCHASED]->(order)-[:SHIP_VIA]->(:Shipper
{shipperID:1})) and exists((customer)-[:PURCHASED]->(order)-[:SHIP_VIA]->
(:Shipper {shipperID:2})) and exists((customer)-[:PURCHASED]->(order)-
[:SHIP_VIA]->(:Shipper {shipperID:3})) return customer, order , shipper;