Neo4j v4.0.0 CALL db.schema() "ProcedureNotFound" Error

I just upgraded my Neo4j from 3.5 to v4.0. After running into no issues with the upgrade I started the server and went to the browser site to check out what's new with 4.0.0.

Upon accessing the browser I did some queries and everything was working fine. Then I tried doing the simple CALL db.schema() call. At this point I got this error:

Neo.ClientError.Procedure.ProcedureNotFound: There is no procedure with the name db.schema registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.

Scanning the logs, I don't see any db. related issues. There are a handful of apoc procedures that haven't been loaded.

Using CALL dbms.procedures() I get the following db procedures (I didn't include apoc or dbms):

  • db.awaitIndex
  • db.awaitIndexes
  • db.clearQueryCaches
  • db.constraints
  • db.createIndex
  • db.createLabel
  • db.createProperty
  • db.createRelationshipType
  • db.createUniquePropertyConstraint
  • db.index.fulltext.awaitEventuallyConsistentIndexRefresh
  • db.index.fulltext.createNodeIndex
  • db.index.fulltext.createRelationshipIndex
  • db.index.fulltext.drop
  • db.index.fulltext.listAvailableAnalyzers
  • db.index.fulltext.queryNodes
  • db.index.fulltext.queryRelationships
  • db.indexDetails
  • db.indexes
  • db.labels
  • db.prepareForReplanning
  • db.propertyKeys
  • db.relationshipTypes
  • db.resampleIndex
  • db.resampleOutdatedIndexes
  • db.schema.nodeTypeProperties
  • db.schema.relTypeProperties
  • db.schema.visualization
  • db.schemaStatements
  • db.stats.clear
  • db.stats.collect
  • db.stats.retrieve
  • db.stats.retrieveAllAnonymized
  • db.stats.status
  • db.stats.stop

I realized that CALL db.schema.visualization() looks similar to db.schema() and see that it returns the same results, however I couldn't find this in the docs. Following this link in the 4.0 Migration Guide API Changes (section 3.16.4), there doesn't appear to be anything talking about removing db.schema()

Any suggestions or information regarding db.schema() in version 4.0.0?

It's superseeded by db.schema.visualization.

2 Likes

Apparently, the only training 'Introduction to Neo4j' (part 4) has not yet been updated.

I hit this issue myself today.
I am trying to learn, but these constant inconsistencies between the documentation and the product are a barrier to learning.
Neo4j - please update your online training material!

Call db.schema.visualization