微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何获得重复节点 CYPHER Neo4j

如何解决我如何获得重复节点 CYPHER Neo4j

我有一个问题,我如何才能获得一些具有相同属性(例如同名属性)的节点。在 sql 中,我会使用 GROUP BY,但在 CYPHER 中,我不知道应该使用什么来对它们进行分组。下面我添加了我的简单输入和示例输出来可视化我的问题。

[
  {
    id:1,name: 'name1'
  },{
    id:2,name: 'name2'
  },{
    id:3,{
    id:4,name: 'name3'
  },{
    id:5,{
    id:6,{
    id:7,name: 'name4'
  },{
    id:8,name: 'name5'
  },{
    id:9,name: 'name6'
  },{
    id:10,name: 'name6'
  }
 ]

我的解决方案应该给我这个:

[
  {
    count:2,{
    count:3,{
    count:2,name: 'name6'
  }
]

预先感谢您的帮助

解决方法

在 Cypher 中,当您聚合(对于直接的情况)时,分组键由非聚合项形成。

如果已经从输入创建了节点(假设它们使用标签 :Entry),那么我们可以获得您想要的输出:

MATCH (e:Entry)
RETURN e.name as name,count(e) as count

这里的分组键是name,它作为聚合的结果变得不同。结果是每个不同的 name 值对应一行,以及具有该名称的节点数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。