Этот запрос даст вам следующий ответ:
MATCH (p:pm{name: 'G1'})-[:HAS]->(e1:en{name:'GREY1'})-[:WITH]-(a:RED2),
(p:pm{name: 'G1'})-[:HAS]->(e2:en{name:'GREY2'})-[:WITH]-(a:RED2)
RETURN a
вот поток:
от узла G1 к GREY1 и GREY2 по связи HAS, теперь, когда вы достигли этих узловлюбой узел RED2, имеющий отношение WITH с GREY1 и GREY2, будет возвращен как.
, если вам нужно сохранить отношение G1 с RED2, вы также должны включить отношение TO в запрос.
поэтому ваш запрос должен быть:
`MATCH (p:pm{name: 'G1'})-[:HAS]->(e1:en{name:'GREY1'})-[:WITH]-(a:RED2),
(p:pm{name: 'G1'})-[:HAS]->(e2:en{name:'GREY2'})-[:WITH]-(a:RED2),
(P:pm{name:'G1'})-[:TO]->(a:RED2)
RETURN a`