Introdução ao Neo4j

1.006 visualizações

Publicada em

Apresentação realizada no curso de Análise e Desenvolvimento de Sistemas do IFSP São Carlos, na disciplina de Desenvolvimento Web 2.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.006
No SlideShare
0
A partir de incorporações
0
Número de incorporações
39
Ações
Compartilhamentos
0
Downloads
24
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução ao Neo4j

  1. 1. O QUE É NEO4J? Neo4j é um banco de dados; Neo4j é NoSQL; Neo4j não é relacional;
  2. 2. Banco de dados NoSQL Não Relacional QUÊ?
  3. 3. GRAFOS!
  4. 4. GRAFOS!
  5. 5. GRAFOS!
  6. 6. PROPERTY GRAPH
  7. 7. 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
  8. 8. CYPHER CREATE (no1:TipoDoNo {chave:”valor”, chave2:”valor2”}), (no2:TipoDoNo {chave:”valor”, chave2:”valor2”}), (no1)-[:RELACIONAMENTO {chave: “valor”}]->(no2)
  9. 9. 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 Morpheus Node morpheus = neo.createNode(); morpheus.setProperty( “nome”, “Morpheus” ); morpheus.setProperty( “rank”, “Capitão” ); morpheus.setProperty( “tags”, vetorDeStrings);
  10. 10. COMO ISSO É FEITO NO JAVA? // Criando o Relacionamento dizendo que Anderson conhece o Morpheus anderson.createRelationshipTo( morpheus, TiposRelacao.CONHECE);
  11. 11. CYPHER E SQL COMPARADOS SELECT * FROM “Pessoa" WHERE idade = 25 MATCH (p:pessoa{idade: 25}) RETURN p
  12. 12. 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
  13. 13. Modelo Relacional Modelo em Grafos
  14. 14. DÚVIDAS?
  15. 15. OBRIGADO! Vinicius Jorge Munhoz contato@viniciusmunhoz.com Lucas Diógenes Andrade lucas91andrade@hotmail.com

×