J'ai une requête qui fonctionne avec succès:Neo4j requête - Trouver tous les nœuds qui satisfont à une condition de propriété et avoir des relations
match (n:A {tag_no:"N2203"})<-[:rel_a]-(v:B)-[:rel_b]->(r)<-[:rel_c]-(n) WHERE (v.invoice_date>="2012-08-01" AND v.invoice_date<"2016-02-01") with v, collect(r) as rs where all (x in rs where x.date<"2016-08-01") return count(v) as count;
Je dois filtrer davantage cette requête.
J'ai besoin de connexes r nodes with max(r.date) for each v
, et savoir combien de ces noeuds ont une relation avec un autre noeud de type D
J'essaie cette requête, il renvoie une erreur de syntaxe
match (n:A {tag_no:"N2203"})<-[:rel_a]-(v:B)-[:rel_b]->(r)<-[:rel_c]-(n) WHERE (v.invoice_date>="2012-08-01" AND v.invoice_date<"2016-02-01") with v, max(r.date) as date collect(r) as rs where (all (x in rs where x.date<"2016-08-01") AND filter(x in rs where x.date=date)[0]<-[:rel_c]-(d:D)) return count(v) as count;
J'ai également essayé beaucoup d'autres combinaisons, mais toutes jettent une erreur de syntaxe. Toute aide est appréciée.
Vos requêtes bénéficieraient de mise en forme, ce qui rendrait plus facile debuggind. Veuillez utiliser 4 espaces d'indentation (au lieu de triples accolades) et utiliser également plus d'espaces dans la requête. J'ai créé et donné un exemple à https://gist.github.com/szarnyasg/8b53983b5ade8a31e4410f8f48ee3653 –