Neo4j CQL - Criando um relacionamento
No Noe4j, um relacionamento é um elemento com o qual conectamos dois nós de um gráfico. Esses relacionamentos têm direção, tipo e os padrões de forma dos dados. Este capítulo ensina como -
- Crie relacionamentos
- Crie uma relação entre os nós existentes
- Crie uma relação com rótulo e propriedades
Criando Relacionamentos
Podemos criar um relacionamento usando a cláusula CREATE. Especificaremos a relação dentro dos colchetes “[]” dependendo da direção da relação em que ela é colocada entre o hífen “-” e a seta “→” conforme mostrado na sintaxe a seguir.
Sintaxe
A seguir está a sintaxe para criar um relacionamento usando a cláusula CREATE.
CREATE (node1)-[:RelationshipType]->(node2)
Exemplo
Em primeiro lugar, crie dois nós Ind e Dhawan no banco de dados, como mostrado abaixo.
CREATE (Dhawan:player{name: "Shikar Dhawan", YOB: 1985, POB: "Delhi"})
CREATE (Ind:Country {name: "India"})
Agora, crie um relacionamento chamado BATSMAN_OF entre esses dois nós como -
CREATE (Dhawan)-[r:BATSMAN_OF]->(Ind)
Finalmente, retorne ambos os nós para ver o relacionamento criado.
RETURN Dhawan, Ind
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.
Criando um relacionamento entre os nós existentes
Você também pode criar um relacionamento entre os nós existentes usando o MATCH cláusula.
Sintaxe
A seguir está a sintaxe para criar um relacionamento usando a cláusula MATCH.
MATCH (a:LabeofNode1), (b:LabeofNode2)
WHERE a.name = "nameofnode1" AND b.name = " nameofnode2"
CREATE (a)-[: Relation]->(b)
RETURN a,b
Exemplo
A seguir está um exemplo de Cypher Query que cria um relacionamento usando a cláusula match.
MATCH (a:player), (b:Country) WHERE a.name = "Shikar Dhawan" AND b.name = "India"
CREATE (a)-[r: BATSMAN_OF]->(b)
RETURN a,b
Para executar a consulta acima, siga os seguintes passos.
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.
Criando uma relação com rótulo e propriedades
Você pode criar um relacionamento com rótulo e propriedades usando a cláusula CREATE.
Sintaxe
A seguir está a sintaxe para criar um relacionamento com rótulo e propriedades usando a cláusula CREATE.
CREATE (node1)-[label:Rel_Type {key1:value1, key2:value2, . . . n}]-> (node2)
Exemplo
A seguir está um exemplo de Cypher Query que cria uma relação com rótulo e propriedades.
MATCH (a:player), (b:Country) WHERE a.name = "Shikar Dhawan" AND b.name = "India"
CREATE (a)-[r:BATSMAN_OF {Matches:5, Avg:90.75}]->(b)
RETURN a,b
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.
Criando um caminho completo
No Neo4j, um caminho é formado usando relacionamentos contínuos. Um caminho pode ser criado usando a cláusula create.
Sintaxe
A seguir está a sintaxe para criar um caminho no Neo4j usando a cláusula CREATE.
CREATE p = (Node1 {properties})-[:Relationship_Type]->
(Node2 {properties})[:Relationship_Type]->(Node3 {properties})
RETURN p
Exemplo
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.