У меня есть база данных, организованная в нескольких иерархических деревьях. Узлы организованы по номерам. Ноды, начинающиеся с того же числа, взаимосвязаны отношениями. Например: (5) - [connect] - (50) - [connect] - (507) ... и т. Д. Я хочу искать, например, узел 301, начиная с первого родительского узла: узел 3. Как я делаю этот запрос в cypher?Поиск в иерархическом дереве на neo4j
1
A
ответ
1
Если вы хотите выполнить поиск конкретного узла, начиная с первым родителем я хотел бы предложить следующий запрос:
MATCH (n {number:1})-[:CONNECT*0..]->(n1) return n, n1;
поиска Этого запроса для узла с имуществом number = 1
и ищут для всех детей, которые связаны через CONNECT
отношения. Если вы хотите найти конкретный дочерний узел вы должны изменить запрос таким образом:
MATCH (n {number:1})-[:CONNECT*0..]->(n1 {number:101}) return n, n1;
В *0..
части вы не можете определить до какой глубины вы хотите найти, так что вы можете также искать глубину = п с *0..n
. Эта документация является хорошим местом для начала с предложения о матче/пути: https://neo4j.com/docs/developer-manual/current/cypher/clauses/match/
Смежные вопросы
- 1. Рекурсия в иерархическом дереве
- 2. Агрегация в иерархическом дереве
- 3. Структурирование листьев в иерархическом дереве
- 4. События в иерархическом дереве элементов управления пользователя
- 5. Найти узлы листа в иерархическом дереве
- 6. Найти листовой узел на группу в иерархическом дереве
- 7. Поиск в дереве
- 8. Поиск пути на дереве Хаффмана
- 9. Как получить накопленную сумму детей в иерархическом дереве?
- 10. Рекурсивно поиск в дереве
- 11. Поиск узла в дереве
- 12. поиск в подграфе neo4j
- 13. A * поиск в neo4j
- 14. Поиск в Neo4j
- 15. Рекурсивный поиск узла в дереве
- 16. Neo4j Возвращенные Лучшие узлы уровня в дереве
- 17. Поиск узла в двоичном дереве
- 18. Поиск файла в дереве каталогов
- 19. Поиск в двоичном дереве поиска
- 20. Поиск медианы в дереве AVL
- 21. Поиск соседних узлов в дереве
- 22. Поиск узла в двоичном дереве
- 23. Поиск в несортированном дереве рекурсивно
- 24. Поиск данных, хранящихся в дереве
- 25. C++ поиск узла в дереве
- 26. Поиск стоимости в двоичном дереве?
- 27. Поиск Стоимость на дереве с упорядоченными узлами
- 28. Поиск вызова метода в дереве выражений/дереве выражений для итерации
- 29. Neo4j: поиск в иерархии cypher
- 30. Как работает поиск в neo4j?
Большое спасибо! Это решит мою проблему :) –
Как выполнить поиск по ширине? –
Пожалуйста, взгляните на https://neo4j.com/blog/graph-search-algorithm-basics/. Вы найдете там полезную информацию. Вы также можете посмотреть https://github.com/neo4j-contrib/neo4j-apoc-procedures, который имеет реализацию Алгоритма Дейкстры. –