Могу ли я указать это (свойство: интерес) для каждого пользователя в одной связи ЗНАЙТЕ, или мне нужно будет создать две связи между пользователями и установить атрибут для каждой связи?
Вам понадобятся два отношения.
Вы могли бы сделать это с одним, но тогда вам нужно сохранить два свойства в отношении и информацию о том, какое свойство соответствует какому узлу. Намного проще с двумя отношениями.
Из комментария:
Могу ли я сохранить их как двунаправленные или в этом случае мне нужно будет использовать направленность?
Отношения всегда направлены. Концепция двунаправленности появляется только тогда, когда вы запрашиваете, но на самом деле это не двунаправленное, а без направления, например. (a)-[r]-(b)
. Таким образом, вы должны использовать (a)-[r]->(b)
и (b)-[r]->(a)
или (a)<-[r]-(b)
. Если вы запрашиваете направление, тогда вы знаете, как применить свойство отношения.
Обычно я больше работаю с Java в виде встроенного вместо Cypher, и использование направленных запросов окупается, так как сокращает объем кода для выполнения ассоциаций.
Примечание
Поскольку ваш случай настолько прост, просто попробуйте разные методы и посмотрите, что сработает. Не забывайте следить за тем, сколько времени занимают запросы, и при необходимости добавлять индексы. Также используйте инструмент профилирования запросов, чтобы убедиться, что вы делаете эффективные запросы.
person
Guy Coder
schedule
07.01.2019