1

使用密码从特定 node_auto_index 获取随机记录的语法是什么?

我想有这个例子

START x=node:node_auto_index("uname:*")  RETURN x SKIP somerandomNumber LIMIT 10;

有没有更好的方法不会返回一个连续的集合?

4

1 回答 1

2

Neo4j 中没有类似于 SQL 的 Random() 的功能。

在使用 cypher 之前,您必须在该部分中声明随机数SKIP random(如果您不直接从控制台查询并且您使用 Neo4j 的任何高级语言) - 这将连续给出随机部分的节点,或者您必须检索所有节点,而不是在这些节点上用您的高级语言随机生成 - 这将为您提供一组随机的 ndo。

或者,要在 cypher 中创建一个伪随机函数,我们可以尝试这样的事情:

START x=node:node_auto_index("uname:*")
WITH x, length(x.uname) as len
WHERE Id(x)+len % 3 = 0
RETURN x LIMIT 10

或根据 uname 节点的总数或 uname 参数的普通 ascii 值在此查询中制作复杂的 WHERE 部分,例如

于 2013-01-14T09:50:36.920 回答