如何在Neo4j中的breadth_first搜索中计算每个深度的节点数

时间:2013-04-19 21:02:24

标签: java neo4j

我正在尝试设计一个MLM应用程序。它像人A一样赞助3人和B,C,D以及B,C和D各3个赞助商等等。

要计算支出,客户希望根据3的最后一个人来遍历图表,比如D,总支出是根据D下的人数乘以特定数量。现在我面临的挑战是一个约束条件,对于每个级别,您只需要计算n-1个人,其中n最大值为3,因为这是MLM策略。

到目前为止,我使用嵌入式Neo4j进行项目我知道我可以根据关系进行遍历,也许可以进行bread_first搜索并获取当前深度但是如何计算遍历中每个级别的人数减1 ?看起来,我可能必须实现一个自定义方法,但我需要帮助指向正确的方向。

1 个答案:

答案 0 :(得分:0)

好吧,只要您知道自己的深度,就可以使用深度作为集合的索引(例如数组)。每次访问给定深度的节点时,都要增加集合中该索引处的值。

完成遍历后,您可以将您喜欢的规则和约束应用于数据数组。