Запрос одного отношения с двунаправленной связи в Neo4j
Можно показать только одно направление отношения от двунаправленного отношения?
(п) - [: EMAIL_LINK] -> (м)
(п) < - [: EMAIL_LINK] - (м)
Запрос одного отношения с двунаправленной связи в Neo4j
Можно показать только одно направление отношения от двунаправленного отношения?
(п) - [: EMAIL_LINK] -> (м)
(п) < - [: EMAIL_LINK] - (м)
Если тип отношения в вопросе не имеет направленного семантики, лучше всего иметь их только один раз на графике и опускать направление во время запроса, то есть (a)-[:EMAIL_LINK]-(b)
вместо (a)-[:EMAIL_LINK]->(b)
.
Чтобы избавиться от дублированных отношений в различных направлениях, использование:
MATCH (a)-[r1:EMAIL_LINK]->(b)<-[r2:EMAIL_LINK]-(a)
WHERE ID(a)<ID(b)
DELETE r2
если ваш график велика вам нужно позаботиться о наличии достаточных размеров транзакций путем добавления в LIMIT
и выполнив запрос несколько раз, пока все были обработаны.
NB: WHERE ID(a)<ID(b)
необходим. В противном случае a
и b
могут изменять роли во время последующей итерации. Следовательно, r1
и r2
также изменили бы роли, и оба они будут удалены.
Нет, в браузере вы не можете зарегистрироваться. Однако, если вы обновляетесь до 2.2M04, браузер лучше показывает их с изогнутыми краями. –
Можно ли устранить избыточную связь между двумя узлами в наборе результатов cyper? Я имею в виду просто скрыть или не показывать в результирующем наборе. '14 -> 41, 41 -> 14, 62 -> 41, 62 -> 14' Как вы видите, узел (14) напрямую связан с узлом (41), то же самое с узел (41), который является непосредственно связанным узлом (14). Все, что я хочу показать, это уникальные отношения узлов в любых направлениях. '14 -> 41, 62 -> 41, 62 -> 14' или ' 41 -> 14, 62 -> 41, 62 -> 14' – Daryl