模式

Neo4j 是一个本身无模式的数据库。这使得图的快速开发成为可能,并且可以通过引入新的数据源不断演变和扩展。

不过,你仍然可以在 Neo4j 中施加开放模式。开放模式仅对显式包含在模式中的数据施加约束。这种方法保持了灵活的框架,能够在新需求出现时轻松适配并扩展数据模型,同时也可以对数据模型中最稳定、最成熟的部分的形状进行强制约束。

在 Neo4j 中实施开放模式有两种方法

  • 图类型:整体上强制开放模式,为整个图提供定义好的结构。 仅适用于 Cypher® 25 2026.02 引入 企业版

  • 约束:对节点或关系属性施加特定约束。

所有使用较旧的 CREATE CONSTRAINT 语法创建的约束都会自动添加到数据库的图类型中。不过,并非所有约束类型都能通过该语法创建,随着约束数量的增加,单独维护各个约束会变得越来越复杂。

因此,建议使用图类型来定义模式,因为它既提供了额外的、更复杂的约束类型,又提供了一种更整体、更简化的方式来约束和维护图中数据的形状。