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

如果使用标准的服务器版本,算法库需要通过手工安装和配置。

  1. 下载版本

下载库中,下载匹配版本graph-algorithms-algo-[version].jar 。并拷贝至$NEO4J_HOME/plugins目录下。

如何选择版本,可以参考:
版本文件

  1. 增加配置

$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,亦或者通过客户段代码。

对于大部分算法,有两个函数定义,分为:

  1. algo.<name>
    这个函数将结果以节点属性的形式写入到图数据库,并且返回统计信息。

  2. algo.<name>.stream
    这个函数返回数据流。例如节点IP和结算结果等

对于大型的图,stream类型的函数可能返回上百万的记录,甚至几十亿。对于这种情况,可以考虑将结果存在下列,然后再使用。

参考:https://github.com/neo4j-contrib/neo4j-graph-algorithms

上一篇下一篇

猜你喜欢

热点阅读