Я работаю над проектом (платформой), где я использую neo4j для установления соединений между пользователями. Существуют различные способы, с помощью которых пользователь может подключаться к другим пользователям на платформе.Запрос моделирования данных Neo4j
Когда пользователь входит в систему с Facebook, я получаю его общие друзья, которые уже используют нашу платформу. Там я создаю соединение в своей базе данных графиков, создавая новый узел (текущий пользователь) и устанавливаю соединения со всеми существующими узлами, которые он знает через facebook.
Один пользователь также подключается к другому пользователю, если оба находятся в одном обществе/сообществе. Поэтому, когда пользователь обновляет свой адрес проживания (название общества, город), я делаю запрос в графе db и получаю все узлы, которые также остаются в том же обществе и создают этого нового пользователя с теми узлами с именем отношения " Это же общество ».
То же самое можно было бы связать с другим пользователем, если оба пользователя учатся в одном колледже или школе. Я делаю связь между двумя узлами с отношением «Тот же колледж/школа».
Каков наилучший способ моделирования вышеуказанной проблемы в neo4j? Если я делаю запрос в БД, чтобы получить все типы отношений и кратчайший путь всех отношений между заданными двумя узлами, какая модель будет оптимизирована для этого типа запроса?