2016-12-28 46 views
1

我有以下节点:如何在neo4j中合并多行?

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 | 
└────────────┴──────────────────────────────┘ 

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

回答

3

使用collect()

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

在结果中,skill属性将是一个list

+0

谢谢!这正是我需要的:) – Arjun