Cypher запрос для отображения списка всех отключенных графов Neo4j graph DB?

Графовая база данных Neo4j содержит примерно 50000 узлов и> 50000 отношений. Существует основной граф, который содержит большинство узлов. Но есть несколько графов, которые (еще) не связаны с основным графом.

Чтобы соединить различные графы для формирования одного большого основного графа, я собираюсь использовать запрос Cypher для перечисления путей или наборов связанных узлов, упорядоченных по их размеру (сначала самый большой отключенный граф).

На stackoverflow есть несколько сообщений, таких как:

Нахождение всех отключенных подграфов в графе но это'Не очевидно, как решить это с Сайфер.Как найти отключенные узлы на neo4j с Cypher?

Вот небольшой примерный график, который представляет проблему:Neo4j Консольный пример графика

Следующий запрос Cypher не решает проблему, но является отправной точкой. В нем перечислены все те узлы, которые не связаны с основным графом. Он пропускает объединение этих узлов в наборы узлов. Работает на небольшом графике. На большом графике это только возвращаетне определено» ... после пробежки более 10 минут.

START s=node(3), n=node(*) 
MATCH s-[*1..10]-m 
WITH collect(m) as members, n 
WHERE NOT n in members 
RETURN DISTINCT id(n), n.name? 
ORDER BY id(n) 
LIMIT 10;

Как использовать Cypher для вывода списка всех отключенных (под) графов?

Среда: - Neo4j - Ядро базы данных Graph 1.9.M05 - Java - Среда выполнения SE (сборка 1.7.0_17-b02)

Ответы на вопрос(1)

Ваш ответ на вопрос