Я совершенно новичок в Neo4j, я бы использовал его для вычисления привязанности к простоте между пользователями в моем приложении и использовал ее для социальных рекомендаций.
Вкратце, пользователи дают отзывы (логическое значение) о новостях, объектахи путешествует, что приложение предлагает им.
Так что я должен иметь на своем графике 4 типа узлов:
- user
- news
- object
- travel
Каждый раз, когда пользователь дает положительный отзыв для элемента (новости, путешествия, объект), это событие должно создавать два отношения в графе: HAS_VOTED (user to item), HAS_BEEN_VOTED (элемент для пользователя).Эти отношения имеют свойство: голос, которое увеличивается каждый раз, когда пользователь дает положительный отзыв.
Моя идея состоит в том, чтобы использовать этот график для расчета для всех пользователей всех путей (используя верхний предел длины пути)всем остальным пользователям и используйте свойство голосования, чтобы вычислить оценку для пути с такой же длиной.
Моя проблема заключается в большом количестве циклов и путей, которые должны быть в этом графике, поскольку в моем решении каждый новыйсобытие голосования создает два отношения от пользователя к элементу и, таким образом, цикл.
Эта проблема может привести к проблеме производительности в neo4j при расчете путей?
Это правильный дизайн схемы, чтобы решить моюпроблема?
Приветствуется хороший совет.
Заранее спасибо.