# Chapter 18. Database Introspection

This chapter describes procedures that can be used to introspect the database.

The APOC library adds extra tools for introspecting the database.

For more on these procedures, see:

- Section 18.1, “Meta Graph”
- Section 18.2, “Config”
- Section 18.3, “Monitoring”
- Section 18.4, “SystemDB”

## 18.4. SystemDB

This section describes procedures that can be used to access the contents of Neo4j system db.

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.

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 18.8. Procedures
`apoc.systemdb.graph` | returns a `nodes` and `relationships` stored in systemdb.
`apoc.systemdb.execute` | executes an DDL command 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;