如何在neo4j中组合多行?

时间:2016-12-28 10:29:49

标签: neo4j cypher

我有以下节点:

p:Person
s:Skill

关系是:(p)-[KNOWS]-(s)

我的查询是:

MATCH (p:Person)-[r:KNOWS]->(s:Skill) 
WHERE p.Name=~'Julie.*' 
RETURN (p.Name),(s.Name)

输出是:

╒════════════╤══════════════════════════════╕
│(p.Name)    │(s.Name)                      │
╞════════════╪══════════════════════════════╡
│Julie Rocha │Knowledge Management          |
├────────────┼──────────────────────────────┤
│Julie Rocha │MongoDB                       │
└────────────┴──────────────────────────────┘

所需的输出是:

╒════════════╤══════════════════════════════╕
│(p.Name)    │(s.Name)                      │
╞════════════╪══════════════════════════════╡
│Julie Rocha │Knowledge Management, MongoDB |
└────────────┴──────────────────────────────┘

我怎样才能做到这一点?任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:3)

使用collect()

h1

在结果中,MATCH (p:Person)-[r:KNOWS]->(s:Skill) WHERE p.Name =~ 'Julie.*' RETURN p.Name, collect(s.Name) AS skill 属性为list