Я добавляю ограничения в базу данных neo4j, используя ограничения Cypher, и у меня есть поле свойств на узле, где я хочу, чтобы значение было одной из набора строк.
Я создал ограничение, согласно которому это поле должно существовать, но не уверен, можно ли ограничить само значение.
Например, мой узел может выглядеть как
(e:Entity { foo: 'a' })
и у меня есть ограничение
CREATE CONSTRAINT ON (e:Entity) ASSERT EXISTS (e.foo)
но я хочу, чтобы foo
был либо a
, b
, c
или d
, поэтому в этом примере узел будет в порядке. Однако, если бы я добавил еще один узел
(e:Entity { foo: 'e' })
,
тогда я бы хотел, чтобы это не удалось и выбросило исключение.
Документация по ограничениям neo4j предполагает, что в настоящее время нет способа делать это. Кто-нибудь сталкивался с этим раньше и есть потенциальное решение?
Заранее спасибо!