Cypher 初始化器
APOC 允许您在数据库初始化完成后选择性地运行 Cypher 命令。这可用于确保在启动时创建索引和约束。
初始化器通过 配置选项 进行定义,并遵循以下命名约定
apoc.initializer.<database_name>.<identifier> = <some cypher string>
对于每个数据库,所有的初始化器字符串都按 <identifier>(标识符)排序,并且每个初始化器都在单独的事务中执行。如果您给定的数据库只有一个初始化器,则可以省略 <identifier>。
例如,如果您想要
-
在 System 数据库中创建另一个数据库用户。
-
在默认数据库
neo4j中为:Person创建索引。 -
在默认数据库
neo4j中添加两个:Person节点。
可以通过以下方式实现
apoc.initializer.system=CREATE USER dummy IF NOT EXISTS SET PASSWORD 'abc'
apoc.initializer.neo4j.0=CREATE INDEX person_index IF NOT EXISTS FOR (p:Person) ON (p.name)
apoc.initializer.neo4j.1=MERGE (:Person{name:'foo'})
apoc.initializer.neo4j.2=MERGE (:Person{name:'bar'})
|
Cypher 初始化器会在数据库和 dbms 的每次重启时运行。因此,建议使用 |