run-llama / llama_index

LlamaIndex is a data framework for your LLM applications
https://docs.llamaindex.ai
MIT License
35.21k stars 4.94k forks source link

[Question]: neo4j.exceptions.ClientError #14647

Open cxycxm opened 1 month ago

cxycxm commented 1 month ago

Question Validation

Question

neo4j.exceptions.ClientError: {code: Neo.ClientError.Procedure.ProcedureNotFound} {message: There is no procedure with the name apoc.meta.data registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.}

dosubot[bot] commented 1 month ago

To resolve the error "There is no procedure with the name apoc.meta.data registered for this database instance" in Neo4j, you need to ensure that the APOC (Awesome Procedures On Cypher) plugin is installed and properly configured in your Neo4j database.

Here are the steps to resolve this issue:

  1. Install the APOC Plugin:

    • Download the APOC plugin from the Neo4j APOC GitHub repository.
    • Place the downloaded JAR file in the plugins directory of your Neo4j installation.
  2. Configure Neo4j to Allow APOC Procedures:

    • Open the neo4j.conf file located in the conf directory of your Neo4j installation.
    • Add or modify the following lines to enable the APOC procedures:
      dbms.security.procedures.unrestricted=apoc.*
      dbms.security.procedures.allowlist=apoc.meta.data
    • Ensure that the dbms.security.procedures.unrestricted setting includes apoc.* to allow all APOC procedures, or specifically allow apoc.meta.data using the dbms.security.procedures.allowlist setting.
  3. Restart Neo4j:

    • After making the changes, restart your Neo4j database to apply the new configuration.

By following these steps, you should be able to resolve the error and use the apoc.meta.data procedure in your Neo4j instance [1][2].

To continue talking to Dosu, mention @dosu.

logan-markewich commented 1 month ago

You need to make sure apoc procedures are installed/enabled.

I'm not a neo4j expert, but I just have this in my docker command when launching neo4j

docker run \
    -p 7474:7474 -p 7687:7687 \
    -v $PWD/data:/data -v $PWD/plugins:/plugins \
    --name neo4j-apoc \
    -e NEO4J_apoc_export_file_enabled=true \
    -e NEO4J_apoc_import_file_enabled=true \
    -e NEO4J_apoc_import_file_use__neo4j__config=true \
    -e NEO4JLABS_PLUGINS=\[\"apoc\"\] \
    neo4j:latest