Introdução ao neo4j

322 visualizações

Publicada em

Palestra sobre introdução ao neo4j 3.0 e introdução a graphdatabases nosql

Publicada em: Dados e análise
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
322
No SlideShare
0
A partir de incorporações
0
Número de incorporações
210
Ações
Compartilhamentos
0
Downloads
3
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Introdução ao neo4j

  1. 1. Introdução ao Neo4j – 3.0 (GRAPHS)[:ARE]›(EVERYWHERE)
  2. 2. Jhonathan S. Soares • MVP Microsoft – Visual Studio • Neo4j Certified Developer • Criador do blog CodigoSimples.net Leandro Domingues • Neo4j Certified Developer • SQL Server Specialist • Criador do blog CodificandoSempre.com.br
  3. 3. Introdução ao Neo4j • Tipos de NOSQL • Já somos 255 e crescendo o/ • Colunar | Wide Column | Column Families • Hadoop – Hbase – Cassandra – BigTable • Orientado à Documentos| Document Store • ElasticSearch – OrientDB – MongoDB - DocumentDB • Chave Valor | Tuple Store | Key Value • DynamoDB – Azure Table – Redis - MemcacheDB • Orientado à Grafos | Graph Databases • Neo4j – ArangoDB – OrientDB - Titan
  4. 4. Introdução ao Neo4j • Graph Databases • Somos diferentes? • Só você • Just you • Diferentão • Vanguardista • Pica das galáxias • Está diretamente relacionado a um modelo de dados estabelecido, o modelo de grafos.
  5. 5. Introdução ao Neo4j • Graph Databases • Representar os dados e / ou o esquema dos dados como grafos dirigidos.
  6. 6. Introdução ao Neo4j • Dijkstra • Lei do menor caminho ou caminho com menor peso.
  7. 7. Introdução ao Neo4j • Graph Databases • Porém, por meio dos relacionamentos inerentes aos grafos, estas consultas tornam-se mais simples e diretas.
  8. 8. Introdução ao Neo4j • Neo4j é feito do que?​ • Nós, Labels, Relacionamentos e Propriedades​ • Nós são os registros • Labels são conjunto agrupado de nós • Relacionamentos são as conexões entre os nós • Propriedades são definições de um nós ( Direção, Agrupamento etc)
  9. 9. Instalação e Configuração • Plataformas suportadas​ • Windows • Linux/Unix • Mac OSX • Versões • Community Edition • Enterprise Edition
  10. 10. Introdução à Cypher Query • Conceitos • Cypher é uma linguagem declarativa, de inspiração SQL para descrever padrões em gráficos utilizando uma sintaxe ascii-art. • Ela nos permite selecionar, inserir, atualizar ou excluir dados do gráfico sem a necessidade de descrever exatamente como fazê-lo.
  11. 11. Introdução à Cypher Query • Conceitos • MATCH (p:pessoa{idade: 25}) RETURN p • MATCH é o nosso comando de seleção • p:pessoa é o nosso conjunto de dados • {idade:25} é o nosso where • return p é quais registros eu quero que retorne
  12. 12. Introdução à Cypher Query • Conceitos • MATCH (p:pessoa{idade: 25}) RETURN p • SELECT * FROM Pessoa WHERE idade = 25 • MATCH (p:pessoa{name:’Anakin’})-[:visitou]->(p) RETURN p • SELECT p.* FROM Planetas p INNER JOIN VisitouPlaneta v ON p.id = v.planeta_id INNER JOIN Pessoa pe ON v.pessoa_id = pe.id WHERE pe.nome = 'Anakin'
  13. 13. Linguagens de programação • Neo4j se integra nativamente com: • Java • C# • Python • Ruby • Javascript • PHP • Exemplo com c# : github.com/Readify/Neo4jClient/wiki/cypher-examples
  14. 14. Linguagens de programação Imagine a seguinte classe em c#: public class User { public long Id { get; set; } public string Name { get; set; } public int Age { get; set; } public string Email { get; set; } }
  15. 15. Linguagens de programação Retornar todos usuários Cypher: MATCH (user:User) RETURN user C#: graphClient.Cypher .Match("(user:User)") .Return(user => user.As<User>()) .Results
  16. 16. Linguagens de programação Retornar usuário específico Cypher: MATCH (user:User) WHERE user.Id = 1234 RETURN user C#: graphClient.Cypher .Match("(user:User)") .Where((User user) => user.Id == 1234) .Return(user => user.As<User>()) .Results
  17. 17. Aplicações e Usos • Fraud Detection • Real-time recommendations • Social network • Identity and access management • Network ant IT operations
  18. 18. Hora do Demo
  19. 19. Hora do Demo • Match • Limit • Insert • Shortestpath • Execution Plan • WebAdmin • Features “Escondidas”
  20. 20. Features “Escondidas” • :play query template • :play sysinfo • :config • EXPLAIN + query • PROFILE + query • WebAdmin
  21. 21. Dúvidas? (graphs)[:ARE]›(everywhere)
  22. 22. FIM! http://codifiquesempre.com.br http://codigosimples.net

×