Я пытаюсь найти узел, который был бы наиболее похож на другой по дочерним узлам, которые они совместно используют, и затем перечислить те узлы, которые они разделяют.
Например, у меня есть:
N1-[has]->A
N1-[has]->B
N1-[has]->C
N1-[has]->D
N2-[has]->A
N2-[has]->B
N2-[has]->E
N2-[has]->F
N3-[has]->A
N3-[has]->B
N3-[has]->C
N3-[has]->G
Итак, я хочу проверить, какой узел по своим дочерним узлам наиболее похож на N1.Это должно быть N3, потому что они имеют 3 дочерних узла
Теперь я могу определить, какой это узел, используя
match (n1:Node {name: "some name"})-[:HAS]->(i)<-[:HAS]-(n2:Node)
with n2.name as n, count(*) as c
return n order by c desc limit 1
Но мне нужен список узлов, которые они разделяют, я сиделна это уже довольно давно и не могу обойтись.