【问题标题】:Returning a collection which has name property and repetition times返回具有名称属性和重复次数的集合
【发布时间】:2013-03-18 20:12:37
【问题描述】:
start n=node(22), p=node(1) match n<-[r1:FOLLOWS]-m-[r2:HAS]->k<-[r3:CONTAIN]-p return distinct [k.name]

我试图在这里返回 k 值的名称和重复时间,到目前为止,我无法做到。有没有使用密码查询的快速方法?

考虑这个例子:

["Acting","Acting","Acting","Acting","Mongodb","Mongodb","Neo4j","Neo4j","Nursing"]

我正在尝试类似的东西:

[["Acting",4], ["Mongodb",2], ["Neo4j",2], ["Nursing",1]]

注意:同名(属性)表示同一个节点。

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    找到了! :)

    start n=node(22), p=node(1) match n<-[r1:FOLLOWS]-m-[r2:HAS]->k<-[r3:CONTAIN]-p return distinct [k.name] as skill, count(k) as count
    

    【讨论】:

      【解决方案2】:

      如果您想进一步过滤计数(假设您只想要计数大于 5 的结果,您也可以将其包装在 WITH 语句中。既美观又整洁。

          START n=node(22), p=node(1) 
          MATCH n<-[r1:FOLLOWS]-m-[r2:HAS]->k<-[r3:CONTAIN]-p 
          WITH distinct [k.name] as skill, count(k) as count
          WHERE count > 5
          RETURN skill, count
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-28
        相关资源
        最近更新 更多