如何在nodejs中为neo4jgraphics数据库创build模式?

我在想,我们如何防止用户/开发人员添加不需要的节点/关系/属性?

我读的是 – 我们应该在应用程序层面强加这些模式。 那么,我们如何在Node.js中做到这一点?

有没有这样的例子? 或者有人可以在这里发布一些代码?

这取决于你的应用程序如何工作

  1. 您可以在应用程序中创build自己的validation,但这取决于应用程序的types。

  2. 更好的select是为Neo4j创build您自己的非托pipe扩展。 您可以使用交易事件API – http://graphaware.com/neo4j/transactions/2014/07/11/neo4j-transaction-event-api.html

  3. 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中使用。