索引:
使用CREATE INDEX ON可以在拥有某个标签的所有节点的某个属性上创建索引,由于在后台创建,索引并不能立即生效。
// 在所有拥有Person标签的所有节点的name属性上创建索引
CREATE INDEX ON :Person(name)
// 删除索引
DROP INDEX ON :Person(name)
索引在查询语句中会被自动使用
约束:
neo4j可以通过约束来保证数据的完整性,可应用于节点或是关系。可以创建节点属性的唯一性约束,也可以创建节点和关系的属性存在性约束。
只有neo4j企业版才有属性存在性约束这个功能。
在属性上添加唯一性约束时,同时也会自动为该属性添加一个索引,所以不能单独添加这样一个索引。
// 创建唯一性约束
CREATE CONSTRAINT ON (book:Book) ASSERT book.isbn IS UNIQUE
// 删除唯一性约束
DROP CONSTRAINT ON (book:Book) ASSERT book.isbn IS UNIQUE
// 创建存在性约束
CREATE CONSTRAINT ON (book:Book) ASSERT exists(book.isbn)
// 删除存在性约束
DROP CONSTRAINT ON (book:Book) ASSERT exists(book.isbn)
// 创建关系属性存在性约束
CREATE CONSTRAINT ON ()-[like:LIKED]-() ASSERT exists(l