2013-10-01 20 views
5

Come cercare il nodo utilizzando la query di cypher in cui una delle proprietà del nodo ha una matrice di stringa?
ad es. members-- > ["abc","xyz","pqr"].
È possibile trovare il nodo mantenendo l'ordine degli elementi di matrice nello stesso modo, ad es.Come verificare la proprietà dell'array in neo4j?

START root=node(*) where has(root.members) and root.members=["abc","xyz","pqr"] return root;

ma Come cercare nodo se non/non può fornire l'esatto ordine degli elementi in quanto sono in proprietà di nodo?

risposta

7

Utilizzare il predicato "all" per garantire che ogni elemento nel root.member sia presente nell'elenco fornito, ad esempio root.members è un sottoinsieme dell'elenco fornito e l'espressione length garantisce che l'elenco fornito non contenga più elementi rispetto a ciò che è nella root.members, quindi entrambi contengono esattamente gli stessi membri.

START root=node(*) 
Where has(root.members) and all (m in root.members where m in ["abc","xyz","pqr"]) and length(root.members) = length(["abc","xyz","pqr"]) 
Return root 
+0

Predicati .. bello, grazie per l'informazione. :) – agpt

Problemi correlati