Neo4j - Cláusula Where

Como SQL, Neo4j CQL ha proporcionado la cláusula WHERE en el comando CQL MATCH para filtrar los resultados de una consulta MATCH.

Sintaxis

A continuación se muestra la sintaxis de la cláusula WHERE.

MATCH (label)  
WHERE label.country = "property" 
RETURN label

Ejemplo

Antes de continuar con el ejemplo, cree cinco nodos en la base de datos como se muestra a continuación.

CREATE(Dhawan:player{name:"shikar Dhawan", YOB: 1985, runs:363, country: "India"}
CREATE(Jonathan:player{name:"Jonathan Trott", YOB:1981, runs:229, country:"South Africa"}
CREATE(Sangakkara:player{name:"Kumar Sangakkara", YOB:1977, runs:222, 
   country:"Srilanka"})
CREATE(Rohit:player{name:"Rohit Sharma", YOB: 1987, runs:177, country:"India"})
CREATE(Virat:player{name:"Virat Kohli", YOB: 1988, runs:176, country:"India"})
CREATE(Ind:Country {name: "India", result: "Winners"})

A continuación se muestra una consulta cifrada de muestra que devuelve todos los jugadores (nodos) que pertenecen al país India mediante la cláusula WHERE.

MATCH (player)  
WHERE player.country = "India" 
RETURN player

Para ejecutar la consulta anterior, realice los siguientes pasos:

Step 1- Abra la aplicación de escritorio Neo4j e inicie el servidor Neo4j. Abra la aplicación de navegador incorporada de Neo4j usando la URLhttp://localhost:7474/ como se muestra en la siguiente captura de pantalla.

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Cláusula WHERE con múltiples condiciones

También puede utilizar la cláusula WHERE para verificar varias condiciones.

Sintaxis

A continuación se muestra la sintaxis para usar la cláusula WHERE en Neo4j con múltiples condiciones.

MATCH (emp:Employee)  
WHERE emp.name = 'Abc' AND emp.name = 'Xyz' 
RETURN emp

Ejemplo

A continuación se muestra un ejemplo de Cypher Query que filtra los nodos en la base de datos de Neo4j usando dos condiciones.

MATCH (player)  
WHERE player.country = "India" AND player.runs >=175 
RETURN player

Para ejecutar la consulta anterior, realice los siguientes pasos:

Step 1- Abra la aplicación de escritorio Neo4j e inicie el servidor Neo4j. Abra la aplicación de navegador incorporada de Neo4j usando la URLhttp://localhost:7474/ como se muestra en la siguiente captura de pantalla.

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado.

Uso de la relación con la cláusula where

También puede utilizar la cláusula Where para filtrar los nodos utilizando las relaciones.

Ejemplo

Supongamos que tenemos el siguiente gráfico en la base de datos.

A continuación se muestra una consulta cifrada de muestra para obtener el puntaje más alto de India utilizando la cláusula WHERE como se muestra a continuación.

MATCH (n) 
WHERE (n)-[: TOP_SCORER_OF]->( {name: "India", result: "Winners"}) 
RETURN n

Para ejecutar la consulta anterior, realice los siguientes pasos:

Step 1- Abra la aplicación de escritorio Neo4j e inicie el servidor Neo4j. Abra la aplicación de navegador incorporada de Neo4j usando la URLhttp://localhost:7474/ como se muestra en la siguiente captura de pantalla.

Step 2 - Copie y pegue la consulta deseada en el indicador de dólar y presione el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado

Al ejecutar, obtendrá el siguiente resultado. Aquí puede observar que Neo4j devolvió el nodo, que tiene la relación TOP_SCORER_OF con el país con el nodo que tiene el nombre India.