Этот запрос может делать то, что вы хотите.Он возвращает уникальные пары cxc
и csa
, которые проходят все ваши тесты.
MATCH (csa:CSAVHierarchy)
WHERE
(:CSAVHierarchy)-[:CSAVCustomerHasChild]->(csa) AND
csa._type='CXCustomer' OR csa._type='CXCustomerBU'
MATCH (cxc:CXCustomerHierarchy)
WHERE
(:CXCustomerHierarchy)-[:CXCustomerHasChild]->(cxc) AND
csa.ssid = cxc.ssid AND
csa.elementLabel = cxc.elementLabel AND
(cxc._type='CXCustomer' OR cxc._type='CXCustomerBU')
RETURN cxc, csa
Для повышения производительности вы также должны создать индексы на :CSAVHierarchy(_type)
и :CXCustomerHierarchy(_type)
.