Search code examples
neo4jneo4j-apocneo4j-plugin

Neo4j Install APOC and Graph Algorithms Neo.ClientError.Procedure.ProcedureRegistrationFailed


I have some issues with APOC and Graph Algorithms plugins. I followed the instruction to put the .jars in {NEO4j_HOME}/plugins and also change the setting in my {NEO4j_HOME}/conf/neo4j.conf

dbms.directories.data=/Users/mlo/neo4j-community-3.3.1/data
dbms.directories.plugins=/Users/mlo/neo4j-community-3.3.1/plugins
dbms.directories.certificates=/Users/mlo/neo4j-community-3.3.1/certificates
dbms.directories.logs=/Users/mlo/neo4j-community-3.3.1/logs
dbms.directories.lib=/Users/mlo/neo4j-community-3.3.1/lib
dbms.directories.run=/Users/mlo/neo4j-community-3.3.1/run

dbms.security.auth_enabled=false
dbms.security.procedures.unrestricted=algo.*
dbms.security.procedures.unrestricted=apoc.*

A few procedures work.

CALL apoc.help('dijkstra')
CALL algo.list()

However, most of the stored procedures do not work at all.

Neo.ClientError.Procedure.ProcedureRegistrationFailed
algo.unionFind is unavailable because it is sandboxed and has dependencies outside of the sandbox. Sandboxing is controlled by the dbms.security.procedures.unrestricted setting. Only unrestrict procedures you can trust with access to database internals.
algo.pageRank is unavailable because it is sandboxed and has dependencies outside of the sandbox. Sandboxing is controlled by the dbms.security.procedures.unrestricted setting. Only unrestrict procedures you can trust with access to database internals.

Can someone point out where goes wrong in my setting? Thanks.


Solution

  • Change these lines:

    dbms.security.procedures.unrestricted=algo.*
    dbms.security.procedures.unrestricted=apoc.*
    

    to:

    dbms.security.procedures.unrestricted=algo.*,apoc.*
    

    and restart Neo4j service.