如何在nodejs中为neo4jgraphics数据库创build模式?
我在想,我们如何防止用户/开发人员添加不需要的节点/关系/属性?
我读的是 – 我们应该在应用程序层面强加这些模式。 那么,我们如何在Node.js中做到这一点?
有没有这样的例子? 或者有人可以在这里发布一些代码?
这取决于你的应用程序如何工作
-
您可以在应用程序中创build自己的validation,但这取决于应用程序的types。
-
更好的select是为Neo4j创build您自己的非托pipe扩展。 您可以使用交易事件API – http://graphaware.com/neo4j/transactions/2014/07/11/neo4j-transaction-event-api.html
-
GraphAware为架构执行者提供付费扩展 – http://graphaware.com/enterprise/
Neo4j支持一些有限的模式实施。 特别:
-
唯一性约束 指定一个节点属性,用作具有给定标签的节点的唯一ID。 试图违反约束的事务将被回滚。 Cypher使用以下语法创build唯一性约束:
CREATE CONSTRAINT ON (p:Person) ASSERT p.name IS UNIQUE
-
财产存在限制。 此约束确保给定标签的所有节点包含指定的属性。 任何不指定给定属性的create语句将被回滚。 属性存在约束可以通过以下语法创build:
CREATE CONSTRAINT ON (book:Book) ASSERT exists(book.isbn)
请注意,在Neo4j 2.3中,属性的存在约束是新的,并且只能在Neo4j Enterprise中使用。