Neo4j的算法库安装和调用说明(algo)
2020-02-14 本文已影响0人
thirsd
上一文中,进行了Neo4j的图算法的简单介绍,展现Neo4j存的大量优秀的算法。默认不支持,如果通过插件安装来使用,详看本节介绍。
一、安装算法库
1.1 桌面版面 Neo4j Desktop
可以通过Neo4j的插件(Plugins)来进行安装,安装器会从图算法库中下载一份拷贝,并把它放在数据库的plugins目录下。同时,再配置文件中,增加以下配置项:
dbms.security.procedures.unrestricted=algo.*
1.2 服务器版本 Neo4j Server
如果使用标准的服务器版本,算法库需要通过手工安装和配置。
- 下载版本
从下载库中,下载匹配版本graph-algorithms-algo-[version].jar
。并拷贝至$NEO4J_HOME/plugins目录下。
如何选择版本,可以参考:
版本文件
- 增加配置
在 $NEO4J_HOME/conf/neo4j.conf
文件中,增加:
dbms.security.procedures.unrestricted=algo.*
由于算法使用底层的API去读取和写入Neo4j数据库,需要给无限制权限或管理员权限。
3、重启Neo4j
二、安装后验证
安装完成后,就可以通过CALL algo.list()
来查看库支持的算法了。
具体介绍,可以参考:
https://neo4j.com/docs/graph-algorithms/current/
三、如何调用
这些算法以Neo4j函数的形式对外提供,所以可以直接通过浏览器执行Cypher语句,或者通过cypher-shell,亦或者通过客户段代码。
对于大部分算法,有两个函数定义,分为:
-
algo.<name>
这个函数将结果以节点属性的形式写入到图数据库,并且返回统计信息。 -
algo.<name>.stream
这个函数返回数据流。例如节点IP和结算结果等
对于大型的图,stream类型的函数可能返回上百万的记录,甚至几十亿。对于这种情况,可以考虑将结果存在下列,然后再使用。