Neo4j - cláusula Where

Como o SQL, o Neo4j CQL forneceu a cláusula WHERE no comando CQL MATCH para filtrar os resultados de uma consulta MATCH.

Sintaxe

A seguir está a sintaxe da cláusula WHERE.

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

Exemplo

Antes de prosseguir com o exemplo, crie cinco nós no banco de dados, conforme mostrado abaixo.

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 seguir está um exemplo de Cypher Query que retorna todos os jogadores (nós) que pertencem ao país Índia usando a cláusula WHERE.

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

Para executar a consulta acima, siga as seguintes etapas -

Step 1- Abra o aplicativo de desktop Neo4j e inicie o servidor Neo4j. Abra o aplicativo de navegador integrado do Neo4j usando o URLhttp://localhost:7474/ conforme mostrado na imagem a seguir.

Step 2 - Copie e cole a consulta desejada no prompt de dólar e pressione o botão play (para executar a consulta) destacado na imagem a seguir.

Resultado

Ao executar, você obterá o seguinte resultado.

Cláusula WHERE com várias condições

Você também pode usar a cláusula WHERE para verificar várias condições.

Sintaxe

A seguir está a sintaxe para usar a cláusula WHERE no Neo4j com várias condições.

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

Exemplo

A seguir está um exemplo de Cypher Query que filtra os nós no banco de dados Neo4j usando duas condições.

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

Para executar a consulta acima, siga as seguintes etapas -

Step 1- Abra o aplicativo de desktop Neo4j e inicie o servidor Neo4j. Abra o aplicativo de navegador integrado do Neo4j usando o URLhttp://localhost:7474/ conforme mostrado na imagem a seguir.

Step 2 - Copie e cole a consulta desejada no prompt de dólar e pressione o botão play (para executar a consulta) destacado na imagem a seguir.

Resultado

Ao executar, você obterá o seguinte resultado.

Usando relação com cláusula Where

Você também pode usar a cláusula Where para filtrar os nós usando os relacionamentos.

Exemplo

Suponha que temos o seguinte gráfico no banco de dados.

A seguir está um exemplo de consulta Cypher para recuperar o artilheiro da Índia usando a cláusula WHERE conforme mostrado abaixo.

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

Para executar a consulta acima, siga as seguintes etapas -

Step 1- Abra o aplicativo de desktop Neo4j e inicie o servidor Neo4j. Abra o aplicativo de navegador integrado do Neo4j usando o URLhttp://localhost:7474/ conforme mostrado na imagem a seguir.

Step 2 - Copie e cole a consulta desejada no prompt de dólar e pressione o botão play (para executar a consulta) destacado na imagem a seguir.

Resultado

Ao executar, você obterá o seguinte resultado. Aqui você pode observar que o Neo4j retornou o nó, que tem a relação TOP_SCORER_OF para o país com o nó de nome Índia.