Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在nodejs中为neo4j图形数据库创建模式?_Node.js_Neo4j_Schema - Fatal编程技术网

Node.js 如何在nodejs中为neo4j图形数据库创建模式?

Node.js 如何在nodejs中为neo4j图形数据库创建模式?,node.js,neo4j,schema,Node.js,Neo4j,Schema,我在想,我们如何防止用户/开发人员添加不需要的节点/关系/属性 我读到的是-我们应该在应用程序级别强制使用这些模式。那么,我们如何在Node.js中做到这一点呢 这方面有什么例子吗?或者有人可以在这里发布一些代码吗?这取决于应用程序的工作方式 您可以在应用程序中创建自己的验证,但这取决于应用程序的类型 更好的选择是为Neo4j创建自己的非托管扩展。您可以使用事务事件API进行以下操作- GraphAware为模式实施者提供付费扩展- Neo4j支持一些有限的模式实施。具体而言: 指定作为具有给

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

我读到的是-我们应该在应用程序级别强制使用这些模式。那么,我们如何在Node.js中做到这一点呢


这方面有什么例子吗?或者有人可以在这里发布一些代码吗?

这取决于应用程序的工作方式

  • 您可以在应用程序中创建自己的验证,但这取决于应用程序的类型

  • 更好的选择是为Neo4j创建自己的非托管扩展。您可以使用事务事件API进行以下操作-

  • GraphAware为模式实施者提供付费扩展-


  • Neo4j支持一些有限的模式实施。具体而言:

    • 指定作为具有给定标签的节点的唯一id的节点属性。试图违反约束的事务将回滚。使用以下语法在Cypher中创建唯一性约束:

      对(p:Person)断言p.name创建约束是唯一的

    • 此约束确保给定标签的所有节点都包含指定的属性。任何未指定给定属性的create语句都将回滚。可以使用以下语法创建属性存在约束:

      在(book:book)断言上创建约束存在(book.isbn)

    请注意,属性存在约束在Neo4j 2.3中是新的,仅在Neo4j Enterprise中可用