SystemDB

In Neo4j 4.0 the concept of multi-database was introduced. There’s now a database called system which contains some internal information, e.g. configured permissions. Those can be exposed by APOC.

apoc.systemdb.graph
WARN

Do not rely on the data structures within system database. They are a non-public implementation details of Neo4j and might change within minor release updates.

Table 1. Procedures

apoc.systemdb.graph

returns a nodes and relationships stored in systemdb.

apoc.systemdb.execute

executes an DDL command or a list of DDL commands on system db, yields row for further processing

isType example
CALL apoc.systemdb.graph() YIELD nodes, relationships RETURN *;
CALL apoc.systemdb.execute('SHOW DATABASES') YIELD row RETURN row.name as dbName;
CALL apoc.systemdb.execute(["CREATE USER foo", "GRANT ROLE myRole TO foo"])