2015-07-22 2 views
2

Возможно ли в neo4j установить свойство узла или отношения в neo4j как обязательное или необязательное? Если да, то как это сделать, используя интерфейс cypher или RESTGraphDb, предоставьте neo4j? Любая помощь будет оценена, ура!Необязательное свойство в Neo4j

+3

Neo4j является schemaless, поэтому все свойства являются обязательными для узлов, как и для отношений. –

+0

@ ChristopheWillemsen: спасибо за ответ. Я знаю, что Neo4J - это схематическая база данных. Но возможно ли установить флаг для свойства как обязательный? –

+0

Вы можете просто добавить дополнительные свойства в разные узлы. Например. CREATE (person1 {personId: 1}) CREATE (person2 {personId: 2, Flag: True}) или вы должны добавить более подробную информацию на свои вопросы. Люди смогут вам помочь больше :) – Enigma

ответ

0

Neo4j является схематичным, и вы не можете иметь обязательные свойства на узле или связи, по крайней мере, не из коробки.

Эта функция будет доступна в Neo4j Enterprise 2.3+

Но вы можете создать эту функциональность по своему усмотрению. Вы можете создать неуправляемое расширение, которое будет использовать API событий транзакций, или вы можете использовать GraphAware Framework для этого.

Вот ресурсы о том
- Neo4j Improved Transaction Event API

Или вы можете ждать GraphAware Enterprise, который будет выпущен позже года и будет иметь такую ​​функциональность.

0

Вы можете создать NOT NULL ограничение на узле -

CREATE CONSTRAINT ON (p:Person) ASSERT p.name IS NOT NULL