安装
1.在https://github.com/neo4j-contrib/neo4j-graph-algorithms/releases下载匹配版本的插件graph-algorithms-algo-[version].jar ,下载后放到$NEO4J_HOME/plugins目录下。
版本可以在https://github.com/neo4j-contrib/neo4j-graph-algorithms/blob/master/versions.json查看
2.将dbms.security.procedures.unrestricted=algo.* 这句话添加到$NEO4J_HOME/conf/neo4j.conf文件中,需要为库提供不受限制的访问权限,因为算法使用较低级别的内核API来读取和写入。
3.重启neo4j并输入CALL algo.list() 验证是否安装成功,出现下图则表明安装成功
使用
通过Cypher语句就可以执行
eg:
数据:
| MERGE (home:Page {name:'Home'}) MERGE (about:Page {name:'about'}) MERGE (product:Page {name:'Product'}) MERGE (links:Page {name:'links'}) MERGE (a:Page {name:'Site A'}) MERGE (b:Page {name:'Site B'}) MERGE (c:Page {name:'Site C'}) MERGE (d:Page {name:'Site D'}) MERGE (home)-[:linkS]->(about) MERGE (about)-[:linkS]->(home) MERGE (product)-[:linkS]->(home) MERGE (home)-[:linkS]->(product) MERGE (links)-[:linkS]->(home) MERGE (home)-[:linkS]->(links) MERGE (links)-[:linkS]->(a) MERGE (a)-[:linkS]->(home) MERGE (links)-[:linkS]->(b) MERGE (b)-[:linkS]->(home) MERGE (links)-[:linkS]->(c) MERGE (c)-[:linkS]->(home) MERGE (links)-[:linkS]->(d) MERGE (d)-[:linkS]->(home) |
代码:
CALL algo.pageRank.stream('Page', 'linkS', {iterations:20, dampingFactor:0.85})
YIELD nodeId, score
RETURN algo.asNode(nodeId).name AS page,score
ORDER BY score DESC



