使用gremlin查找节点排名

时间:2013-04-15 11:16:54

标签: neo4j gremlin

我在Neo4j中有多个关系的节点,如跟随,国家,地区等。但我想仅计算具有关系Follows的节点的pagerank / node rank。是否有任何使用Gremlin的教程。

17838 - Follows->1743
17838 - Country-> 2
....

ps:请分享Gremlin的任何好教程

所以我想出了这个:

gremlin> m = [:].withDefault{1}
gremlin>g.V.transform{rank=m[it.name];neighbors = it.out('Follows').toList();degree = neighbors.size();neighbors.each{m[it.name]=m[it.name]+(rank/degree);}neighbors;}.scatter.range(0,10000).loop(3){true}.iterate()

这给了我空指针异常???

2 个答案:

答案 0 :(得分:2)

你可以这样做。

g.V.out('follows').groupCount(m).loop(2){it.loops < 5}

Good Gremlin教程在这里:

http://gremlin.tinkerpop.com
http://gremlindocs.com

答案 1 :(得分:1)

请考虑使用Cypher。一个好的起点可能是以下查询:

START n=node(*)
MATCH n-[:FOLLOWS]-m
RETURN n,m