2015-04-01 15 views
7

Come posso ottenere il nodo in base al valore corretto? Voglio dire una cosa del genere: io provatoOttieni il nodo per valore della proprietà neo4j

match (n) where has (n.name = 'Mark') return n

Ma è errato.

E anche Come posso trovare il nodo con il valore massimo della proprietà. Ho nodi con proprietà "VIEWS" e voglio vedere il nodo con le viste massime.

risposta

20

Così vicino ...

MATCH (n) 
WHERE n.name = 'Mark' 
RETURN n 

E 'meglio includere un'etichetta nodo se ne avete uno che servirà a separare il nodo da altri nodi di tipo diverso. In questo modo se hai un indice sulla proprietà nome e sulla combinazione di etichette otterrai una migliore reattività della ricerca. Per esempio, è possibile creare l'indice ...

CREATE INDEX ON :Person(name) 

E poi interrogare con l'etichetta Person.

MATCH (n:Person) 
WHERE n.name = 'Mark' 
RETURN n 

Oppure, in alternativa è possibile interrogare in questo modo ...

MATCH (n:Person {name:'Mark'}) 
RETURN n 

per trovare la persona con il maggior numero di vista ...

MATCH (n:Person) 
RETURN n, n.views 
ORDER BY n.views desc 
LIMIT 1 

per trovare il più viste senza la persona ...

MATCH (n:Person) 
RETURN max(n.views) 
Problemi correlati