Neo4j Desktop中APOC已安装但未注册问题及相关疑问
问题背景
我在Neo4j中无法正常使用APOC,相关文档不够完善。我通过Neo4j Desktop安装APOC的步骤如下:
- 启动Neo4j Desktop
- 找到目标DBMS
- 选择右侧的Plugins标签页
- 安装该插件
安装完成后,执行以下Cypher代码:
CALL apoc.load.json("file:///person.json") YIELD value RETURN value;
收到报错:
There is no procedure with the name
apoc.load.jsonregistered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.
尽管已安装APOC,但可用过程列表中并未显示APOC相关内容。
我确认Neo4j Desktop未使用之前安装的社区版,通过“更多选项”>终端可查看已安装版本。检查neo4j.conf文件,相关配置已注释(理论上会加载所有过程,APOC应被加载):
# Leaving this unconfigured will load all procedures found. #dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*,gds.*
我参考相关教程操作,也尝试过删除项目重新搭建,但问题仍未解决。
核心疑问
- 如何让APOC正常工作?
- 是否需要为每个项目单独安装APOC?
- 是否需要为项目中的每个数据库单独配置APOC?
使用版本:Neo4j Desktop 1.5.6
后续补充信息
今日重复操作后,启动Neo4j Desktop时收到“本地图数据库密码已更改”的提示,我并未修改过密码。该提示既不接受之前使用的服务器密码,也不接受默认密码neo4j,但可以选择“ignore this change until the next Graph start”跳过提示。
跳过提示后,输入密码连接Neo4j服务器,此时APOC可正常被识别。关闭Neo4j Desktop并退出所有项目后重新启动,这次未被要求输入本地DBMS的密码,我以为这已经是“next Graph start”,应该会再次要求输入密码。
或许问题根源在此,为避免后续问题,补充疑问:
- Neo4j是否会在特定条件下自动重置本地DBMS的密码?
- 关闭Neo4j Desktop后,能否确保所有服务器和DBMS实例都已正常关闭?“until the next Graph start”具体指什么?
内容的提问来源于stack exchange,提问作者user305883

