Cypher查询语言Neo4j,迭代函数

时间:2012-12-06 19:52:52

标签: function cypher iteration

我有一个~1'000,000个节点的数据库,每个节点有两个主要属性:质量和lev,我有1到50的lev,我想在每个lev中找到de最大节点(由质量给出),my start节点可以是任何人,有某种迭代函数或类似的东西吗?

1 个答案:

答案 0 :(得分:0)

纯cypher中没有迭代,要么是在使用cypher的上层lvl语言中进行,要么是使用索引手动定义起始节点:

START n1=node:levIndex('lev:1') WITH max(n1.mass) as mx MATCH n1 where n1.mass=mx RETURN Id(n1),n1.mass;
START n2=node:levIndex('lev:2') WITH max(n2.mass) as mx MATCH n2 where n2.mass=mx RETURN Id(n2),n2.mass;
START n3=node:levIndex('lev:3') WITH max(n3.mass) as mx MATCH n3 where n3.mass=mx RETURN Id(n3),n3.mass;
.....