Neo4j – Artículo donde

Como SQL, Neo4j CQL proporcionó una 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 de la India mediante una cláusula WHERE.

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

Para cumplir con la consulta anterior, siga estos pasos:

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

Aplicación de navegador

Paso 2 – Copie y pegue la consulta deseada en el indicador de dólar y haga clic en el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Donde esta el jugador

Resultado

Al hacer esto, obtendrá el siguiente resultado.

Donde esta el resultado

Cláusula WHERE con múltiples condiciones

También puede utilizar la cláusula WHERE para probar 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 una base de datos de Neo4j usando dos condiciones.

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

Para cumplir con la consulta anterior, siga estos pasos:

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

Aplicación de navegador

Paso 2 – Copie y pegue la consulta deseada en el indicador de dólar y haga clic en el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Jugador de regreso

Resultado

Al hacer esto, obtendrá el siguiente resultado.

Resultado de la condición

Usar una relación con una cláusula where

También puede utilizar una cláusula Where para filtrar nodos mediante relaciones.

Ejemplo

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

Base de datos prevista

A continuación se muestra un ejemplo de consulta Cypher para obtener el máximo goleador de la 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 cumplir con la consulta anterior, siga estos pasos:

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

Aplicación de navegador

Paso 2 – Copie y pegue la consulta deseada en el indicador de dólar y haga clic en el botón de reproducción (para ejecutar la consulta) resaltado en la siguiente captura de pantalla.

Resultado de los ganadores

Resultado

Al hacer esto, obtendrá el siguiente resultado. Aquí puede ver que Neo4j devolvió un nodo que tiene una relación TOP_SCORER_OF para un país con un nodo llamado India.

Nodo devuelto

🚫