В настоящее время я моделирую базу данных с более чем 50 000 узлов, и каждый узел имеет 2 направленных отношения. Я пытаюсь получить все узлы для одного входного узла (корневого узла), которые связаны с ним одним отношением и всеми так называемыми дочерними узлами этих узлов и так далее, до тех пор, пока не будет достигнут каждый узел, подключенный прямой и косвенный к этому корневому узлу ,Cypher no loops, no double paths
String query =
"MATCH (m {title:{title},namespaceID:{namespaceID}})-[:categorieLinkTo*..]->(n) " +
"RETURN DISTINCT n.title AS Title, n.namespaceID " +
"ORDER BY n.title";
Result result = db.execute(query, params);
String infos = result.resultAsString();
Я прочитал, что среда выполнения является более вероятным в О (п^х), но не могу найти любую команду, которая исключает, например, петли или несколько путей к одному узлу, поэтому запрос принимает простой в течение 2 часов и это неприемлемо для моего варианта использования.
В Cypher нет оператора 'GROUP BY'. Вы имели в виду 'ORDER BY'? –
Эй, да, мой плохой. Это была просто попытка, если бы что-то вроде этого работало здесь .. и я забыл удалить это. Он также не был с ORDER BY. – DanDo