Это граф, узлы которого существуют во многих связанных компонентах сразу, потому что отношения узла представляют собой набор групп ребер, так что только один край на группу ребер может присутствовать одновременно. Мне нужно найти все подключенные компоненты, в которых существует узел. Каким будет лучший способ сохранить этот граф в neo4j, чтобы быстро найти все связанные компоненты, в которых существует узел? Есть ли способ использовать встроенные обходы для этого?Как сохранить этот вид графика в neo4j для быстрого обхода?
Также: есть ли название для такого графика? Буду признателен за любую помощь/идеи.
Update:
Извините за не ясно. Все узлы одного типа. Узлы имеют переменное количество групп ребер. Точно один край от каждой группы ребер должен быть выбран для конкретного компонента связи. Я собираюсь попытаться объяснить с помощью примера:
Node x1 is related to: (x2 or x3 or x4) AND (x5 or x6) AND (x7)
Node x2 is related to: (x8) AND (x9 or x10)
Так первый край группы X1 является (x2, x3, x4)
, его второй край группа (x5, x6)
, а его третий край группа (x7)
.
Так вот несколько связные компоненты, которые x1
существует в:
CC1:
x1 is related to: x2, x5, x7
x2 is related to: x8 x9
СС2:
x1 is related to: x2, x6, x7
x2 is related to: x8, x9
CC3:
x1 is related to: x3, x5, x7
CC4:
x1 is related to: x3, x6, x7
т.д.
Я благодарен за вашу помощь в этом.
Update2:
Я думаю, что я смогу это сделать, если есть ответ на этот вопрос: How can I specify which relationship type to use as a function of the current node at every step of a traversal with neo4j?
Я обновил описание для наглядности. Спасибо! – James
Я думаю, что решение, которое я предложил, по-прежнему действует с обновленным описанием проблемы. – thobe