J'ai un graphique qui ressemble à ce qui suit:requête Neo4j Cypher pour plusieurs à plusieurs
Brand--SOLD_BY-->Store
Une marque d'un certain point peut être vendu par plusieurs magasins. De même, un seul magasin peut vendre plusieurs marques d'articles. Ce que je veux atteindre est de trouver tous les magasins qui vendent une marque particulière, mais dans le résultat avec le magasin, je voudrais aussi les autres marques qui sont vendues par ce magasin particulier.
Par exemple:
marque1 est vendu par StoreA, StoreB, StoreC. Le résultat devrait ressembler à quelque chose comme ..
StoreA - marque1, marque2
StoreB - marque1, Brand3
StoreC - marque1
J'ai réussi à trouver les magasins, mais je ne suis pas être capable de trouver les autres marques vendues par le magasin.
MATCH (b:Brand)-[s:SOLD_BY]->(s:Store)
WHERE b.id=1
WITH DISTINCT s AS stores
RETURN stores
Une chose que j'ai pensé est si je dois boucle à l'intérieur des magasins collectées et trouver les marques, mais je ne sais pas comment efficace qui serait depuis le graphique peut avoir de nombreux nœuds.
Toute aide serait appréciée, merci.
Whoops, je pense que vous vouliez dire utiliser 'b' pour remplir votre compréhension modèle au lieu de 's'. – InverseFalcon
Correction effectuée. Merci mon pote ! – logisima
Merci pour votre aide! Ça a marché comme sur des roulettes. Une question rapide que je voudrais poser - Quelle sera l'efficacité de cette requête si j'ai dit plus de 10000 nœuds? Je suppose que la compréhension du modèle boucle sur chaque nœud, donc je me demandais si cela ralentirait le processus pour un grand nombre de nœuds. Merci encore. –