Мне известно, что с помощью «ограничения на существование свойств отношений», доступного в 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.Есть ли способ добиться этого эффекта на уровне схемы или мне нужно будет реализовать его на уровне приложений?Спасибо.