📜  Neo4j 创建约束

📅  最后修改于: 2021-09-09 16:21:20             🧑  作者: Mango

neo4j约束可帮助用户避免输入错误类型的数据。当应用约束并且用户错误地输入了错误类型的数据时,它将显示错误消息。在neo4j中有两种约束,一种是唯一性约束,另一种是属性存在性约束。
下面是两个约束与示例的示例:
假设已经存在下面的数据库。

CREATE(CPP:Language{id:001, Designer: "Bjarne Stroustrup", YOE: 1985}) 
CREATE(C:Language {id:002, Designer: "Dennis Ritchie", YOE: 1972}) 
CREATE(Python:Language {id:003, Designer: "Guido van Rossum ", YOE: 1990}) 
CREATE(Java:Language {id:004, Designer: "James Gosling", YOE: 1995}) 
CREATE(CSharp:Language {id:005, Designer: "Microsoft", YOE: 2000})
RETURN CPP, C, Python, Java, CSharp 

输出:

    唯一性约束:
    这个约束包含一个唯一的值,在他的约束中两个相同的lebel不能共享相同的id。
  • 询问:
    CREATE CONSTRAINT ON(l:Language) ASSERT l.id IS UNIQUE

    输出:

  • 查看约束:
    :schema

    输出:

  • 测试约束:
    在这里,我们将尝试将另一个具有冗余 id 值 (004) 的节点添加到该数据库中。
    询问:
    CREATE(Neo4j:Language {id:004, Designer: "Neo4j", YOE: 2012})

    输出:

    属性存在约束:
    属性存在约束用于确保所有具有某个标签的节点都具有某个属性。例如,您可以指定所有标有 Language 的节点都必须包含一个 id 属性。

  • 询问:
    CREATE CONSTRAINT ON (label) ASSERT exists(node)

    笔记:
    属性存在约束仅在 Neo4j 企业版中可用。