Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Neo4j - Crie um relacionamento usando Cypher


Assim como criar nós no Neo4j, podemos usar o CREATE instrução para criar relacionamentos entre esses nós.

A instrução para criar um relacionamento consiste em CREATE , seguido pelos detalhes do relacionamento que você está criando.

Exemplo


Vamos criar um relacionamento entre alguns dos nós que criamos anteriormente. Primeiro, vamos criar uma relação entre um artista e um álbum.
Vamos criar o seguinte relacionamento:
Aqui está o Cypher CREATE declaração para criar o relacionamento acima:
MATCH (a:Artist),(b:Album)
WHERE a.Name = "Strapping Young Lad" AND b.Name = "Heavy as a Really Heavy Thing"
CREATE (a)-[r:RELEASED]->(b)
RETURN r

Explicação do código acima


Primeiro, usamos um MATCH para encontrar os dois nós entre os quais queremos criar o relacionamento.

Pode haver muitos nós com um Artista ou Álbum label para restringi-lo apenas aos nós nos quais estamos interessados. Nesse caso, usamos um valor de propriedade para filtrá-lo. Usamos o Nome propriedade que atribuímos anteriormente a cada nó.

Depois, há o CREATE real demonstração. Isso é o que cria o relacionamento. Neste caso, ele referencia os dois nós pelo nome da variável (ou seja, a e b ) que demos a eles na primeira linha. O relacionamento é estabelecido usando um padrão de código ASCII, com uma seta indicando a direção do relacionamento:(a)-[r:RELEASED]->(b) .

Damos ao relacionamento um nome de variável de r e dê ao relacionamento um tipo de RELEASED (como em "esta banda lançou este álbum"). O tipo de relacionamento é análogo ao rótulo de um nó.

Adicionando mais relacionamentos


O exemplo acima é um exemplo muito simples de um relacionamento. Uma das coisas em que o Neo4j é realmente bom é lidar com muitos relacionamentos interconectados.

Vamos construir o relacionamento que acabamos de estabelecer, para que possamos ver como é fácil continuar criando mais nós e relacionamentos entre eles. Então vamos criar mais um nó e adicionar mais dois relacionamentos.

Terminaremos com o seguinte gráfico:

Este gráfico mostra que Devin Townsend toca na banda, atuou no álbum que a banda lançou e também produziu o álbum.

Então vamos começar criando o nó para Devin Townsend:
CREATE (p:Person { Name: "Devin Townsend" })

Agora crie os relacionamentos e retorne o gráfico:
MATCH (a:Artist),(b:Album),(p:Person)
WHERE a.Name = "Strapping Young Lad" AND b.Name = "Heavy as a Really Heavy Thing" AND p.Name = "Devin Townsend" 
CREATE (p)-[pr:PRODUCED]->(b), (p)-[pf:PERFORMED_ON]->(b), (p)-[pl:PLAYS_IN]->(a)
RETURN a,b,p

Agora você deve ver o gráfico como na captura de tela anterior.