Pourquoi ai-je des résultats en double lorsque j'utilise des relations directionnelles dans ma requête?Neo4j duplique les résultats sur la relation directionnelle
Suivons convention Neo4j d'utiliser des films dans les exemples, j'ai un directeur qui a deux rôles dans deux films différents, on a dirigé et l'autre, il était un producteur:
create (M1:MOVIE {name:'movie 1'}),
(M2:MOVIE {name:'movie 2'}),
(D1:DIRECTOR {name:'director 1'}),
(D1)-[:PRODUCED]->(M2), (D1)-[:DIRECTED]->(M1)
nous allons obtenir tous les administrateurs qui réalisé et produit un film
MATCH (m1:MOVIE)<-[DIRECTED]-(d1:DIRECTOR)-[PRODUCED]->(m2:MOVIE)
RETURN m1, d1, m2
résultat est dupliqué:
╒══════════════════╤═════════════════════╤══════════════════╕
│"m1" │"d1" │"m2" │
╞══════════════════╪═════════════════════╪══════════════════╡
│{"name":"movie 2"}│{"name":"director 1"}│{"name":"movie 1"}│
├──────────────────┼─────────────────────┼──────────────────┤
│{"name":"movie 1"}│{"name":"director 1"}│{"name":"movie 2"}│
└──────────────────┴─────────────────────┴──────────────────┘
en fait c'est aussi faux, je m'attendais à ce que m1 ne soit que des films dirigés par le réalisateur, donc la deuxième rangée est fausse!
Oh Jésus, je vous remercie beaucoup .. été devient fou à elle ! – dendini
@dendini Vous êtes les bienvenus! :) –