Вынудите отношения от метки узла X к метке узла Y, чтобы иметь определенные свойства - PullRequest
0 голосов
/ 28 марта 2019

Мне известно, что с помощью «ограничения на существование свойств отношений», доступного в Neo4j Enterprise, я могу принудительно заставить отношения определенной метки иметь некоторые свойства, например:

(отношения метки «LIKED» всегдаиметь свойство "день")

CREATE CONSTRAINT ON ()-[like:LIKED]-() ASSERT exists(like.day)

Но возможно ли принудительно установить отношения между меткой X узла и меткой Y, чтобы иметь определенные свойства?Примером того, что я хотел бы сделать, было бы:

(отношения метки "BOUGHT" от / к меткам узлов "Person" к меткам узлов "Book" всегда имеют свойство "day")

CREATE CONSTRAINT ON (p:Person)-[bo:BOUGHT]-(b:Book) ASSERT exists(b.day)

Но это не считается допустимой командой Cypher.Есть ли способ добиться этого эффекта на уровне схемы или мне нужно будет реализовать его на уровне приложений?Спасибо.

1 Ответ

0 голосов
/ 28 марта 2019

К сожалению, на данный момент невозможно достичь этого эффекта на уровне схемы.

Вам необходимо выяснить, как реализовать это на прикладном уровне.

Если это LIKED отношение отличается от других LIKED отношений (т. Е. Отношения LIKED между парой меток других узлов), вы можете назвать его как угодно и создать "ограничение существования свойства отношения" для него.

...