如何在Neo4j中以随机方式更新节点

如何在Neo4j中以随机方式更新节点,neo4j,Neo4j,如何更新Neo4j中的随机节点集。我尝试了以下方法: match (Firstgraph) with id(Firstgraph) as Id return Firstgraph.name, Firstgraph.version,id(Firstgraph) order by rand(); match (G1:FirstGraph) where id(G1)=Id set G1.Version=5 我的想法是获取一个随机集,然后更新它,但我得到了错误: 每个查询只需要一条语句,但得到:2 谢

如何更新Neo4j中的随机节点集。我尝试了以下方法:

match (Firstgraph)
with id(Firstgraph) as Id
return Firstgraph.name, Firstgraph.version,id(Firstgraph)
order by rand();
match (G1:FirstGraph)
where id(G1)=Id
set G1.Version=5
我的想法是获取一个随机集,然后更新它,但我得到了错误:

每个查询只需要一条语句,但得到:2


谢谢您的帮助。

让我们来看看这里的问题是什么,首先是您的错误

每个查询只需要一条语句,但得到:2

这是来自您的查询,如果我们检查它,我们会看到您在同一个句子中执行了两个查询,这就是为什么会出现此错误

match (Firstgraph) with id(Firstgraph) as Id 
return Firstgraph.name, Firstgraph.version,id(Firstgraph) order by
rand(); match (G1:FirstGraph) where id(G1)=Id set G1.Version=5
这不是一个好的查询,因为您不能使用;在查询语句中,它是查询结束标记,因此在此之后不能再进行查询,但可以使用UNION:

此外,如果您想匹配一组随机的节点,您可以简单地执行此操作。此示例有50%的机会获得每个节点:

Match (node) Where rand() > 0.5 return node

然后使用with

对节点执行任何操作非常感谢Supamiu的帮助。最后一种方式非常有用:匹配节点,其中rand>0.5返回节点。
Match (node) Where rand() > 0.5 return node