14

I've built and installed the "apoc" procedures according to the github page (The apoc-1.0.0-SNAPSHOT.jar file was copied into the plugins directory after the suerver was stopped, and then I started the server again) but when I try to call any of the procedures, I get an error message.

ex:

$ call apoc.help('search') ;

"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."

I have come across the issue on both MacOs and Windows installations. I'm running Neo4j 3.0.0 as a server (locally on port 7474).

Have I missed any of the settings?

Thanks, Babak.

ykaragol
  • 6,139
  • 3
  • 29
  • 56
Babak Tourani
  • 419
  • 2
  • 6
  • 18
  • 2
    Seeing the same issue here. I've confirmed that the .jar is present in the plugins directory and that the plugins directory is showing as correctly set under Options in the Community Edition management app. – stephent Apr 29 '16 at 08:23

4 Answers4

12

I had to manually add this line to the .neo4j.conf file:

dbms.directories.plugins=/Applications/Neo4j\ Community\ Edition.app/Contents/Resources/app/plugins

(assuming that's where you dropped the APOC jar) and then restart the server.

(It's a little confusing as there's an option in the management app to configure this path, but it seems not actually to enable plug-ins on the server.)

stephent
  • 1,355
  • 15
  • 29
2

For Windows users it should look like this:

dbms.directories.plugins=c:/Program\ Files/Neo4j\ CE\ 3.0.0/plugins

Assuming You have Neo4j installed at Neo4j CE 3.0.0. The import

maklipsa
  • 71
  • 2
  • 4
2

Now (2023) the procedure seems to be different.

  1. There are potentially two files needed to run APOC (https://community.neo4j.com/t5/neo4j-graph-platform/unable-to-see-some-apoc-load-functions/m-p/64154)
  2. Some functions may be disabled by default and need to be enabled in the relevant database config e.g., dbms.security.procedures.allowlist=apoc.coll.,apoc.load.,apoc.periodic.* Consider turning it on and after use off again for security.
jallmer
  • 589
  • 3
  • 17
0

I had to do some combination of the following, updated for June 2023:

# Create the `neo4j.conf` file and specify where plugins are
echo "server.directories.plugins=~/neo4j/plugins" > ~/neo4j/conf/neo4j.conf
# Create that plugins dir and download the latest APOC plugin file
mkdir ~/neo4j/plugins
( cd ~/neo4j/plugins && curl -O -L https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/3.5.0.17/apoc-3.5.0.17-all.jar)
# Re-start the docker container
docker-compose up -d

docker-compose for reference:

services:
  neo4j:
    image: neo4j:latest
    container_name: 'neo4j'
    volumes:
      - '$HOME/neo4j/data:/data'
      - '$HOME/neo4j/conf/:/conf/'
      - '$HOME/neo4j/plugins:/plugins'
    ports:
      - 7474:7474
      - 7687:7687
    environment:
      - NEO4J_PLUGINS='["apoc"]'
    restart: on-failure
    networks:
        - neo4j_network
    command: neo4j

networks:
  neo4j_network:
    driver: bridge

volumes:
  dgraph:

Will T
  • 15
  • 6