neo4j-apoc-procedures: missing procedures

I downloaded apoc-3.1.0.3-all.jar and placed it in the plugins for my windows7 Neo4J 3.1.1 system.

    C:\Users>java -version
    java version "1.8.0_121"
    Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)

Killed the Neo4J process on the computer, and then restated the server.

I am only seeing one apoc procedure listed, others give an error about missing procedure. ThereNo sign of errors in the neo4j log. I tried unblocking the jar, and restarting the server. No luck.

I have no problem with doing

    Call db.schema()

But something as simple as:

    CALL apoc.help("help")

will result in a

    There is no procedure with the name `apoc.help` registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.

What am I doing wrong, I assume it must be me!)

    $call dbms.procedures
    
    apoc.schema.assert	apoc.schema.assert(indexes :: MAP?, constraints :: MAP?) :: (label :: STRING?, key :: LIST? OF STRING?, unique :: BOOLEAN?, action :: STRING?)	(empty)
    db.awaitIndex	db.awaitIndex(index :: STRING?, timeOutSeconds = 300 :: INTEGER?) :: VOID	Wait for an index to come online (for example: CALL db.awaitIndex(":Person(name)")).
    db.constraints	db.constraints() :: (description :: STRING?)	List all constraints in the database.
    db.indexes	db.indexes() :: (description :: STRING?, state :: STRING?, type :: STRING?)	List all indexes in the database.
    db.labels	db.labels() :: (label :: STRING?)	List all labels in the database.
    db.propertyKeys	db.propertyKeys() :: (propertyKey :: STRING?)	List all property keys in the database.
    db.relationshipTypes	db.relationshipTypes() :: (relationshipType :: STRING?)	List all relationship types in the database.
    db.resampleIndex	db.resampleIndex(index :: STRING?) :: VOID	Schedule resampling of an index (for example: CALL db.resampleIndex(":Person(name)")).
    db.resampleOutdatedIndexes	db.resampleOutdatedIndexes() :: VOID	Schedule resampling of all outdated indexes.
    db.schema	db.schema() :: (nodes :: LIST? OF NODE?, relationships :: LIST? OF RELATIONSHIP?)	Show the schema of the data.
    dbms.changePassword	dbms.changePassword(password :: STRING?) :: VOID	Change the current user's password. Deprecated by dbms.security.changePassword.
    dbms.components	dbms.components() :: (name :: STRING?, versions :: LIST? OF STRING?, edition :: STRING?)	List DBMS components and their versions.
    dbms.functions	dbms.functions() :: (name :: STRING?, signature :: STRING?, description :: STRING?)	List all user functions in the DBMS.
    dbms.procedures	dbms.procedures() :: (name :: STRING?, signature :: STRING?, description :: STRING?)	List all procedures in the DBMS.
    dbms.queryJmx	dbms.queryJmx(query :: STRING?) :: (name :: STRING?, description :: STRING?, attributes :: MAP?)	Query JMX management data by domain and name. For instance, "org.neo4j:*"
    dbms.security.changePassword	dbms.security.changePassword(password :: STRING?) :: VOID	Change the current user's password.
    dbms.security.createUser	dbms.security.createUser(username :: STRING?, password :: STRING?, requirePasswordChange = true :: BOOLEAN?) :: VOID	Create a new user.
    dbms.security.deleteUser	dbms.security.deleteUser(username :: STRING?) :: VOID	Delete the specified user.
    dbms.security.listUsers	dbms.security.listUsers() :: (username :: STRING?, flags :: LIST? OF STRING?)	List all local users.
    dbms.security.showCurrentUser	dbms.security.showCurrentUser() :: (username :: STRING?, flags :: LIST? OF STRING?)	Show the current user.STRING?)

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 22 (5 by maintainers)

Commits related to this issue

Most upvoted comments

Same problem, different procedure. Error:

“”“There is no procedure with the name apoc.nlp.aws.entities.graph registered for this database instance. Please ensure you’ve spelled the procedure name correctly and that the procedure is properly deployed.”“”

My config is set: dbms.security.procedures.unrestricted=gds.*,apoc.*

I’m using Neo4j 4.0.4 and APOC 4.0.0.13

I assume you’ve set dbms.directories.plugins in your conf file? In any case, I’m having a similar issue. For instance, i want to use apoc.date.format but it’s just not available, even though it come up when list docs with call apoc.help('date').

CALL dbms.procedures() YIELD name, signature
WITH * WHERE name STARTS WITH 'apoc.date'
RETURN name, signature

gives me:

name	signature
apoc.date.expire	apoc.date.expire(node :: NODE?, time :: INTEGER?, timeUnit :: STRING?) :: VOID
apoc.date.expireIn	apoc.date.expireIn(node :: NODE?, timeDelta :: INTEGER?, timeUnit :: STRING?) :: VOID

I’m having this on two different instances of Neo4j, one on Mac, one on Ubuntu. I used the latest 3.1.x version of APOC .jar file downloaded from this repo in both cases.

Hello!! I had the same issue with apoc.do.when; i edited neo4j.conf the configuration file. I changed: dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*,gds.* to dbms.security.procedures.allowlist=apoc.coll.*,apoc.do.*,apoc.load.*,gds.*.

Just adding apoc.do.* in allowlist.

@TimKettenacker You can also check with call dbms.functions().

However, if you’re just interested in APOC procs and functions, using apoc.help() and including the name will look it up and tell you whether it’s a procedure or a function.

@TimKettenacker I just inspect the source code of the apoc to find func or proc, like this: image

I don’t care the docs, the source code is my docs

And, the latest release seems like 3.3.0.1, not 3.3.1.0

i’ve got apoc, but not apoc.map procedures…

image