如何对节点和关系进行随机采样?
发布于 3 年前 作者 godsdusk 1546 次浏览 来自 问答

我目前随机采样的基础语句是:

MATCH (n:A)--(m:B) WHERE m.name = '123'  RETURN n ORDER BY RAND() LIMIT 1

现在要先找到一些节点,然后对找到的每个节点各随机抽取一个满足某个条件的相邻节点, 这个操作我分了两步来进行,先找到这些节点,第二步用的是 union 拼接每个节点的查询语句,有没有更高效的做法?

2 回复

这个逻辑可以在你的程序里实现

试试: MATCH (a) – (b) RETURN b WHERE rand() < 0.5 意思就是对每个找到的b,有大致50%的机率返回。

回到顶部