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.