Download - Introdução ao Neo4j
![Page 1: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/1.jpg)
NEO4J
TH
E G
RA
PH
DA
T AB
AS
E
![Page 2: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/2.jpg)
O QUE É NEO4J?
Neo4j é um banco de dados;
Neo4j é NoSQL;
Neo4j não é relacional;
![Page 3: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/3.jpg)
Banco de dadosNoSQL
Não Relacional
QUÊ?
![Page 4: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/4.jpg)
GRAFOS!
![Page 5: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/5.jpg)
GRAFOS!
![Page 6: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/6.jpg)
GRAFOS!
![Page 7: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/7.jpg)
![Page 8: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/8.jpg)
PROPERTY GRAPH
![Page 9: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/9.jpg)
E COMO EU FAÇO UMA “QUERY”?• Podemos escrever queries
manualmente em Cypher, que é o equivalente a linguagem SQL
• Podemos usar a API do java e fazer buscas e inserções através de métodos
![Page 10: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/10.jpg)
CYPHERCREATE
(no1:TipoDoNo {chave:”valor”, chave2:”valor2”}),
(no2:TipoDoNo {chave:”valor”, chave2:”valor2”}),
(no1)-[:RELACIONAMENTO {chave: “valor”}]->(no2)
![Page 11: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/11.jpg)
COMO ISSO É FEITO NO JAVA?NeoService neo = ... // Get Factory
// Criando o “Neo”Node anderson = neo.createNode();anderson.setProperty( “nome”, “Thomas Anderson” );anderson.setProperty( “idade”, 29 );
// Criando o MorpheusNode morpheus = neo.createNode();morpheus.setProperty( “nome”, “Morpheus” );morpheus.setProperty( “rank”, “Capitão” );morpheus.setProperty( “tags”, vetorDeStrings);
![Page 12: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/12.jpg)
COMO ISSO É FEITO NO JAVA?
// Criando o Relacionamento dizendo que Anderson conhece o Morpheus
anderson.createRelationshipTo( morpheus, TiposRelacao.CONHECE);
![Page 13: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/13.jpg)
CYPHER E SQL COMPARADOSSELECT *
FROM “Pessoa"
WHERE idade = 25
MATCH
(p:pessoa{idade: 25})
RETURN p
![Page 14: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/14.jpg)
UM POUCO MAIS COMPLEXO...
SELECT Planetas.*
FROM Planetas
INNER JOIN VisitouPlaneta ON Planeta.id = VisitouPlaneta.planeta_id
INNER JOIN Pessoa ON VisitouPlaneta.pessoa_id = Pessoa.id
WHERE Pessoa.nome = 'Anakin'
MATCH
(:pessoa{name:”Anakin”})-[:visitou]->(p)
RETURN p
![Page 15: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/15.jpg)
Modelo Relacional Modelo em Grafos
![Page 16: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/16.jpg)
![Page 17: Introdução ao Neo4j](https://reader034.vdocuments.com.br/reader034/viewer/2022050816/5497ea7fb4795940718b46f1/html5/thumbnails/17.jpg)
DÚVIDAS?