Как найти самый большой связанный подграф в neo4j

да, как следует из названия, у меня есть социальный граф, хранящийся в neo4j, около 1 миллиона узлов и 20 миллионов отношений, я хочу получить самый большой связанный подграф, чтобы я мог продолжить свою работу. теперь я пишу программу для этого, я использую DFS(), чтобы найти самый большой связанный подграф. Если он найден, я удаляю те несоединенные узлы. Но это занимает 3 часа ..... Итак, мой вопрос: существует ли более эффективный алгоритм для поиска наибольшего связного подграфа? Любые предложения будут полезны ~ Спасибо!


person user2234995    schedule 02.04.2013    source источник
comment
Не могли бы вы поделиться своей реализацией DFS для поиска максимальных подграфов?   -  person JasonRDalton    schedule 19.09.2014


Ответы (1)


Попробуй вот это, у меня работает нормально:

START input=node:user(your lucene index)
MATCH path = input-[:YOUR_REL*1..]->m WHERE NOT(m-[:YOUR_REL]->())
RETURN path

и вы можете взглянуть на этот найти самый длинный путь

person Mohamed E. ManSour    schedule 12.06.2013