2016-12-28 1 views
1

J'ai les nœuds suivants:Comment combiner plusieurs lignes dans neo4j?

p:Person 
s:Skill 

Et la relation est: (p)-[KNOWS]-(s).

Ma requête est:

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

La sortie est:

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

La sortie souhaitée est:

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

Comment puis-je y arriver? Toute aide est appréciée!

Répondre

3

Utilisation collect():

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

En conséquence, l'attribut skill sera un list.

+0

Merci! C'est exactement ce dont j'ai besoin :) – Arjun