Я использовал CREATE UNIQUE
для идентификации узлов с одним общим отношением:
MATCH (u1:User)-[a:Score]->(g:Games)<-[b:Score]-(u2:User)
WITH u1, u2
CREATE UNIQUE (u1)-[:Common]->(u2)
, но у меня возникает проблема, когда я хочу идентифицировать узлы, когда пользователи имеют более одного (например, 3) общего отношения с показомколичество игр, которое объединяет пара пользователей.Я пробовал разные запросы, и это один из них:
MATCH (u1:User)-[a:Score]->(g:Games)<-[b:Score]-(u2:User)
MATCH (u1)-[a:Score]->(g1:Games), (u1)-[b:Score]->(g2:games)
WITH u1, u2, COUNT(DISTINCT s1) AS s1Count, COUNT(DISTINCT s2) AS s2Count
MATCH (u1)-[a:Score]->(g:Games)<-[b:Score]-(u2)
WITH u1, u2, s1Count, s2Count, COUNT(g) AS commonGamesCount
WHERE commonGamesCount >= 3
RETURN u1, u2
Я хочу видеть результаты в точности как CREATE UNIQUE
.