This chapter explains how to use Cypher to administer Neo4j databases, such as creating databases, managing indexes and constraints, and managing security.

Neo4j supports the management of multiple databases within the same DBMS. The metadata for these databases, including the associated security model, is maintained in a special database called the system database. Most administrative commands must be executed against the system database because they involve editing the metadata for the entire system. This includes all commands related to managing multiple databases as well as all commands for defining the security model: users, roles and privileges. The administrative commands that are specific to the schema of an individual database are still executed against that specific database.