Neo4j · Neo4j 5.26.20
Во внутреннем справочнике сотрудников связь (:Employee)-[:REPORTS_TO]->(:Employee) ведёт от сотрудника к его руководителю. Заявку на доступ к продовым данным должен согласовать кто-то из цепочки.
Для irina-v верните всех руководителей вверх: login и level (1 — непосредственный). Порядок — по level. Глубина иерархии заранее неизвестна.
В работе: Маршрут согласования заявки по оргструктуре.
Как проверяем
Движка Neo4j в браузере пока нет, поэтому здесь не запрос, а выбор решения. Выберите один вариант. После ответа — почему каждый вариант верный или нет. Ответ один на подход: после него показываем разбор.
Источник: на данных оргструктуры: кто кому подчиняется. Условие пересказано своими словами.
Давали на собеседовании?
Ответов пока мало — ваш поможет.
Какой запрос вернёт всю цепочку руководителей?
- -[:REPORTS_TO*1..2]->
- <-[:REPORTS_TO*]-
- -[:REPORTS_TO*]-> и length(p)
- один шаг -[:REPORTS_TO]->