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)