Neo4j · Neo4j 5.26.20
Внутренний портал данных Airbnb (Dataportal) хранил в Neo4j связи людей, команд, таблиц и дашбордов — чтобы находить данные без «спроси у Пети». В докладе — больше 6000 воркбуков Tableau и 3500 сотрудников.
Граф: (:Employee {login})-[:MEMBER_OF]->(:Team {name}), (:Employee)-[:CONSUMES]->(:Table {name}). Сотрудник может состоять в нескольких командах.
Для mlopez верните до 5 таблиц, которые читают его коллеги по любой из его команд и которые он сам ещё не читает: table_name, teammates (число разных коллег). Порядок — по teammates по убыванию, затем по имени.
В работе: Онбординг аналитика: блок «Коллеги часто смотрят» на портале данных.
Источник: доклад Airbnb о Dataportal на GraphConnect: граф людей и данных в Neo4j, 2017. Условие пересказано своими словами.
Какой запрос подскажет новичку таблицы коллег?
- путь через команду, count(DISTINCT mate), NOT (me)-[:CONSUMES]->(tb)
- то же без NOT
- то же, count(mate)
- без связи с командами