Cypher 初始化脚本
APOC 允许您在数据库初始化完成后选择性地运行 Cypher 命令。例如,这可用于确保提前创建索引/约束。
初始化程序通过 配置选项 进行定义,并遵循以下命名约定:
apoc.initializer.<database_name>.<identifier> = <some cypher string>
对于每个数据库,所有的初始化字符串都会按 <identifier>(标识符)进行排序,并且每个字符串都在独立的事务中执行。如果您为特定数据库仅有一个初始化程序,则可以省略 <identifier>。
例如,我们想要:
-
在 system 数据库中创建另一个数据库用户
-
为默认数据库
neo4j中的:Person创建索引 -
在默认数据库
neo4j中添加两个 Person 节点
实现方式如下:
apoc.initializer.system=create user dummy set password 'abc'
apoc.initializer.neo4j.0=create index person_index for (p:Person) on (p.name)
apoc.initializer.neo4j.1=create (:Person{name:'foo'})
apoc.initializer.neo4j.2=create (:Person{name:'bar'})