Neo4i如何根据节点属性对PageRank流过程的结果进行装箱

时间:2018-10-22 19:42:57

标签: apache-spark neo4j stream pagerank neo4j-mazerunner

我在neo4j中有代表已发表学术论文的节点,我想使用流式PageRank算法分析论文之间的引用。

节点之间的关系为-timeout,属性为CITES。我想通过对每个节点使用year属性来对PageRank分数进行归一化:

year

现在,我知道neo4j具有聚合功能(PageRankScore - averagePageRankScore(for papers published in this year))/ standardDeviation (for papers published in this year)avg。话虽如此,我如何才能针对每年的节点/ PageRank分数运行这些?

我想对大量节点执行此操作,因此我认为最好使用stDev函数。另一种选择是使用Spark和Mazerunner,但除非完全必要,否则我想避免这样做。

我当前仅查询PageRank结果的查询如下:

algo.pageRank.stream()

我如何将其更改为:

(1)bin节点及其按属性CALL algo.pageRank.stream( 'MATCH (p:Paper) WHERE p.year < 2015 RETURN id(p) as id', 'MATCH (p1:Paper)-[:CITES]->(p2:Paper) RETURN id(p1) as source, id(p2) as target', {graph:'cypher', iterations:20, write:false, concurrency:20}) YIELD node, score WITH * ORDER BY score DESC RETURN node.title, node.year, score;的Pagerank得分

(2)在每个容器上运行node.yearavg

(3)在返回归一化的值之前使用stDevavg进行归一化吗?

任何帮助将不胜感激!

0 个答案:

没有答案