Neo4j 使用gremlin查找节点排名

Neo4j 使用gremlin查找节点排名,neo4j,gremlin,Neo4j,Gremlin,我在Neo4j中有具有多个关系的节点,如follows、country、region等。但我只想计算具有follows关系的节点的pagerank/node rank。是否有任何教程可以使用Gremlin实现这一点 17838 - Follows->1743 17838 - Country-> 2 .... ps:请分享任何关于小精灵的好教程 所以我想到了这个: gremlin> m = [:].withDefault{1} gremlin>g.V.transform{

我在Neo4j中有具有多个关系的节点,如follows、country、region等。但我只想计算具有follows关系的节点的pagerank/node rank。是否有任何教程可以使用Gremlin实现这一点

17838 - Follows->1743
17838 - Country-> 2
....
ps:请分享任何关于小精灵的好教程

所以我想到了这个:

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()

这给了我空指针异常
START n=node(*)
MATCH n-[:FOLLOWS]-m
RETURN n,m

你可以这样做

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

我没有确切的答案,但也许这个博客启发了你:(由Gremlin的主要贡献者之一)这可以通过使用Gremlin:g.V.outE('Follows').outV.map来完成。但这无助于给node ranksMarko,我读了你的博客。继续努力。我从他们那里学到了很多。我不能真正理解上面的代码,在这个命令之后我得到的只是打印在终端上的顶点数。我想我需要深入到gremlinm.sort{it.value}我得到的输出是v[17901]=104434,这些是特征向量值?但值这么高?如何访问mBut中的键、值我想将权重分配为1/度,我不知道如何使用循环来实现这一点
http://gremlin.tinkerpop.com
http://gremlindocs.com