本文介绍了Cypher可以返回递增的数字链吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如,我可以有这样一个命令来生成数字的增量吗?

MATCH (n) 
RETURN n, number_increment

node A   1
node B   2
node C   3
node D   4
我想将id分配给一组节点(而不是id(n)),并且我需要一个编号递增的链。这在Cypher中可行吗?还是我需要使用其他语言?

推荐答案

看起来您需要行号之类的内容。在Cypher中没有直接的方法,但有许多不同的解决方案。一种方法是使用apoc.coll.zip函数并将结果操作为集合,

MATCH (n) 
WITH collect(n) as nodes
WITH apoc.coll.zip(nodes, range(0, size(nodes))) as pairs
UNWIND pairs as pair 
RETURN pair[0] as n, pair[1] as rowNumber

(不过请注意,上面的查询选择了存储中的所有节点,因此如果您有大量节点,则可能需要一段时间)

这篇关于Cypher可以返回递增的数字链吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 07:25