2016-05-17 1 views
0

Я использую Neo4j 3.0.0 с функцией spring-data-neo4j (версия 4.1.1.RELEASE) и драйвером neo4j-ogm-bolt. Я хочу создать одно и то же отношение (один и тот же тип) между двумя узлами несколько раз.Повторяющиеся отношения в neo4j с данными весны

enter image description here

Настаивая на @RelationshipEntity несколько раз через интерфейс GraphRepository только создает отношения один раз.

После некоторого исследования по этой теме я нашел обходной путь, описанный здесь: Cannot add more than one relationship between nodes in neo4j но в моей версии OGM, кажется, метод createRelationshipBetween не больше существующих в Neo4jTemplate.

Есть ли какое-либо решение в OGM или мне нужно выполнить создание дубликатов отношений с запросами cypher?

Мне нужно иметь один и тот же тип отношения несколько раз между двумя узлами, поэтому добавить другой тип reltionship для меня не вариант.

ответ

3

SDN 4.1/Neo4j OGM does not allow for multiple relations of the same type between two nodes. Исключение из правила - это когда вы хотите поддерживать 2 отношения - один исходящий и один входящий - это когда вы укажете направления OUTGOING и INCOMING.

У вас может быть несколько отношений, если вы моделируете отношение как объект отношения - объект отношения должен иметь хотя бы одно свойство, а значение по меньшей мере одного свойства должно отличаться от других отношений между двумя узлами. Вы можете использовать временную метку как свойство.

Пользовательский Cypher может это сделать, но, скорее всего, будут проблемы при загрузке объекта и повторение его на график с несколькими отношениями одного и того же времени.