我正在使用Docker镜像中的Neo4j 3.5.9,并且我正在尝试使用Jaccard Similarity算法。但是,当我运行这样的查询时:
RETURN algo.similarity.jaccard([1,2,3], [1,2,4,5]) AS similarity
我收到以下错误:
Neo.ClientError.Statement.SyntaxError: Unknown function 'algo.similarity.jaccard' (line 1, column 8 (offset: 7))
"RETURN algo.similarity.jaccard([1,2,3], [1,2,4,5]( AS similarity">
我是否需要在 docker 容器中以某种方式启用此(实验性(算法?欢迎提出建议。
如果你想继续使用 docker,你可以通过以下方式安装图形算法库:
-
下载库并将其解压缩到某个位置(示例中
$HOME/servers/neo4j/plugins
-
使用其他参数运行 docker 映像:
docker run -p7687:7687 -p7474:7474 -v $HOME/servers/neo4j/plugins:/plugins --env NEO4J_dbms_security_procedures_unrestricted=algo.* neo4j:3.5.8
-v $HOME/servers/neo4j/plugins:/plugins
- 将左侧的文件夹挂载为plugins
目录,相应地更改
--env NEO4J_dbms_security_procedures_unrestricted=algo.*
- 设置配置选项,此处描述 https://neo4j.com/docs/graph-algorithms/current/introduction/#_neo4j_server,带有 NEO4J 前缀和下划线的语法是 Neo4j docker 映像的约定。