Neo4j - Definir cláusula
Usando a cláusula Set, você pode adicionar novas propriedades a um Nó ou Relacionamento existente e também adicionar ou atualizar valores de Propriedades existentes.
Neste capítulo, vamos discutir como -
- Definir uma propriedade
- Remover uma propriedade
- Defina várias propriedades
- Definir um rótulo em um nó
- Definir vários rótulos em um nó
Definir uma propriedade
Usando a cláusula SET, você pode criar uma nova propriedade em um nó.
Sintaxe
A seguir está a sintaxe para definir uma propriedade.
MATCH (node:label{properties . . . . . . . . . . . . . . })
SET node.property = value
RETURN node
Exemplo
Antes de prosseguir com o exemplo, primeiro crie um nó chamado Dhawan como mostrado abaixo.
CREATE (Dhawan:player{name: "shikar Dhawan", YOB: 1985, POB: "Delhi"})
A seguir está um exemplo de Cypher Query para criar uma propriedade chamada “highestscore” com o valor “187” .
MATCH (Dhawan:player{name: "shikar Dhawan", YOB: 1985, POB: "Delhi"})
SET Dhawan.highestscore = 187
RETURN Dhawan
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/ como mostrado no seguinte screnshot.

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 uma propriedade com um par de valores-chave highestscore / 187 é criada no nó denominado “Dhawan”.

Removendo uma Propriedade
Você pode remover uma propriedade existente passando NULL como valor para ele.
Sintaxe
A seguir está a sintaxe para remover uma propriedade de um nó usando a cláusula SET.
MATCH (node:label {properties})
SET node.property = NULL
RETURN node
Exemplo
Antes de prosseguir com o exemplo, primeiro crie um nó “jadeja” conforme mostrado abaixo.
Create (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})
A seguir está um exemplo de Cypher Query que remove a propriedade chamada POB deste nó usando a cláusula SET conforme mostrado abaixo.
MATCH (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})
SET Jadeja.POB = NULL
RETURN Jadeja
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/ como 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 a variável chamadaPOB Foi apagado.

Configurando Propriedades Múltiplas
Da mesma forma, você pode criar várias propriedades em um nó usando a cláusula Set. Para fazer isso, você precisa especificar esses pares de valores-chave com vírgulas.
Sintaxe
A seguir está a sintaxe para criar várias propriedades em um nó usando a cláusula SET.
MATCH (node:label {properties})
SET node.property1 = value, node.property2 = value
RETURN node
Exemplo
A seguir está um exemplo de Cypher Query que cria várias propriedades em um nó usando a cláusula SET no Neo4j.
MATCH (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988})
SET Jadeja.POB: "NavagamGhed", Jadeja.HS = "90"
RETURN Jadeja
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/ como 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 as propriedades chamadas POB e HS foram criadas.

Definir um rótulo em um nó
Você pode definir um rótulo para um nó existente usando a cláusula SET.
Sintaxe
A seguir está a sintaxe para definir um rótulo para um nó existente.
MATCH (n {properties . . . . . . . })
SET n :label
RETURN n
Exemplo
Antes de prosseguir com o exemplo, primeiro crie um nó “Anderson” conforme mostrado abaixo.
CREATE (Anderson {name: "James Anderson", YOB: 1982, POB: "Burnely"})
A seguir está um exemplo de Cypher Query para definir um rótulo em um nó usando a cláusula SET. Esta consulta adiciona o rótulo “jogador” ao nó Anderson e o retorna.
MATCH (Anderson {name: "James Anderson", YOB: 1982, POB: "Burnely"})
SET Anderson: player
RETURN Anderson
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/ como 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 rótulo denominado “jogador” é adicionado ao nó.

Definir vários rótulos em um nó
Você pode definir vários rótulos para um nó existente usando a cláusula SET. Aqui você precisa especificar os rótulos, separando-os com dois pontos “:”.
Sintaxe
A seguir está a sintaxe para definir vários rótulos para um nó existente usando a cláusula SET.
MATCH (n {properties . . . . . . . })
SET n :label1:label2
RETURN n
Exemplo
Antes de prosseguir com o exemplo, primeiro crie um nó denominado “Ishant” conforme mostrado abaixo.
CREATE (Ishant {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"})
A seguir está um exemplo de Cypher Query usado para criar vários rótulos em um nó usando a cláusula SET.
MATCH (Ishant {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"})
SET Ishant: player:person
RETURN Ishant
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/ como 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 dois rótulos - pessoa e jogador - são adicionados ao nó denominadoIshant.
