我在思考,我们如何防止用户/开发人员添加不需要的节点/关系/属性?
我读到的是 - 我们应该在应用程序级别强制执行这些模式。那么,在Node.js中我们怎样做呢?
有没有相关示例?或者有人可以在这里发布一些代码吗?
Neo4j支持一些有限的模式强制执行。具体来说:
唯一性约束。指定一个节点属性作为给定标签的节点的唯一标识符。试图违反约束的事务将被回滚。可以使用以下语法在Cypher中创建唯一性约束:
CREATE CONSTRAINT ON (p:Person) ASSERT p.name IS UNIQUE
属性存在约束。此约束确保给定标签的所有节点都包含指定的属性。任何未指定给定属性的创建语句都将被回滚。可以使用以下语法创建属性存在约束:
CREATE CONSTRAINT ON (book:Book) ASSERT exists(book.isbn)
请注意,属性存在约束是Neo4j 2.3中的新功能,仅适用于Neo4j Enterprise。