You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装APOC插件后Neo4j仍无法调用APOC函数的问题排查求助

Hey Manoj, sorry you’ve spent 3 hours stuck on this—let’s break down the most likely fixes for missing APOC functions in your Neo4j 4.x setup:

1. First, confirm APOC is installed correctly (and version-matched)

APOC requires a version exactly compatible with your Neo4j version (e.g., Neo4j 4.2.1 needs APOC 4.2.x, not 4.3 or 3.5). Here’s how to check for your setups:

  • Neo4j Desktop: For each database in your project, go to the Plugins tab. Ensure the APOC plugin is toggled on (not grayed out), and hover over it to verify the version matches your Neo4j instance (e.g., 4.2.1 for your 4.2.1 database). If it’s mismatched, uninstall the current APOC and reinstall the correct version via the plugin store.
  • Standalone Neo4j install: Download the matching APOC JAR, place it in your Neo4j plugins directory, and make sure the file has read permissions for the Neo4j service user.

2. Verify your neo4j.conf has the right permissions enabled

APOC functions need explicit permission to run. Open your neo4j.conf file (in Desktop, access it via the Settings tab of your database; for standalone installs, it’s in the conf folder) and ensure these lines are uncommented (remove the leading #):

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

The allowlist ensures APOC procedures are whitelisted, and unrestricted grants necessary permissions for full functionality.

3. Check if APOC is actually loading

After restarting your Neo4j service, run this query to list all APOC date-related procedures:

CALL dbms.procedures() YIELD name 
WHERE name STARTS WITH 'apoc.date' 
RETURN name;
  • If no results come back, APOC isn’t loading at all. Check your Neo4j logs (Desktop: Logs tab; standalone: logs/neo4j.log) for lines containing "APOC"—you’ll often see errors here for version mismatches, missing JAR files, or permission issues.
  • If you do see apoc.date.parse in the results, move to the next step.

4. Double-check your query syntax

Wait a second—your example query has the parameter order reversed! The correct signature for apoc.date.parse in Neo4j 4.x is:
apoc.date.parse(dateString :: STRING?, format :: STRING?, unit :: STRING?) :: INTEGER?
You wrote:

RETURN apoc.date.parse("2020-11-04", "ms", "yyyy-MM-dd") AS outputInMs;

Swap the second and third parameters (format comes before unit):

RETURN apoc.date.parse("2020-11-04", "yyyy-MM-dd", "ms") AS outputInMs;

Even if APOC is loaded, incorrect parameter order might cause unexpected errors (though "unknown function" usually points to a loading issue, it’s worth ruling out).

Start with the first two steps—version mismatch and missing permissions are the most common culprits for "unknown function" errors with APOC. If you still hit issues, share any relevant log lines and we can dig deeper!

内容的提问来源于stack exchange,提问作者Manoj Joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 09:52:44