Introdução ao Neo4j

1,017 views

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,017
On SlideShare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
24
Comments
0
Likes
1
Embeds 0
No embeds

No notes for 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

×