Je commence avec Neo4j et essaye de regrouper des nœuds qui ont des relations les uns avec les autres.Neo4j - Nœuds de groupe basés sur des relations
L'ensemble de données est la suivante:
create (user1 {name:'user1'}), (user2 {name:'user2'}), (user3 {name:'user3'}), (user4 {name:'user4'}), (user5 {name:'user5'}), (user6 {name:'user6'}),
(user1)-[:SHARE_WITH]->(user2),
(user1)-[:SHARE_WITH]->(user3),
(user1)-[:SHARE_WITH]->(user4),
(user2)-[:SHARE_WITH]->(user4),
(user5)-[:SHARE_WITH]->(user6)
Le résultat que je vise:
group1: [user1, user2, user3, user4]
group2: [user5, user6]
Le meilleur que je suis en mesure de le faire jusqu'à présent est
MATCH (s)-[:SHARE_WITH]->(d) RETURN s.name, collect(d.name)
Qui renvoie
user1 [user4, user3, user2]
user2 [user4]
user5 [user6]
Toute aide appréciée :)
qu'est-ce MATCH (s) - [: SHARE_WITH] - (d) RETOUR s.name, recueillir (d.name) retour? – binariedMe
@binariedMe, cela retourne toutes les relations indépendamment de la direction, mais la sortie n'est pas plus utile pour moi. Merci quand même – nicobrsc