如何在删除之前或重新创建约束之前检查neo4j中的现有CONSTRAINT

时间:2017-02-01 09:06:12

标签: neo4j

如何检查neo4j中的现有CONSTRAINTS。

例如,我创建了一个约束,如

CREATE CONSTRAINT ON(m:BBG_Security_DATA)ASSERT m.ISIN IS UNIQUE;

在重新创建相同的约束之前,我必须重新检查。

提前致谢。

此致 Shafeeque

1 个答案:

答案 0 :(得分:0)

如果您多次创建相同的约束,Neo4j不会抱怨-在浏览器中返回(no changes, no records)

如果您尝试放弃不存在的约束,它确实会抱怨。如this SO answer中所述(来自上面的注释),您可以使用:

CALL db.constraints

获取当前列表约束并确定需要删除的列表。

 ══════════════════════════════════════════════════════════════════════╕
│"description"                                                         │
╞══════════════════════════════════════════════════════════════════════╡
│"CONSTRAINT ON ( c:Classification ) ASSERT c.id IS UNIQUE"            │                                            
├──────────────────────────────────────────────────────────────────────┤
│"CONSTRAINT ON ( d:Directory ) ASSERT d.id IS UNIQUE"                 │
├──────────────────────────────────────────────────────────────────────┤
│"CONSTRAINT ON ( f:File ) ASSERT f.id IS UNIQUE"                      │
├──────────────────────────────────────────────────────────────────────┤
│"CONSTRAINT ON ( p:Perspective ) ASSERT p.id IS UNIQUE"               │
└──────────────────────────────────────────────────────────────────────┘