SlideShare uma empresa Scribd logo
Introdução ao Neo4j – 3.x
(GRAPHS)[:ARE]›(EVERYWHERE)
Jhonathan S. Soares
• MVP Microsoft – Visual Studio
• Neo4j Top 50 Certified Developer
• Criador do blog CodigoSimples.net
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
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.
Introdução ao Neo4j
• Graph Databases
• Representar os dados e / ou o esquema dos dados como grafos
dirigidos.
Introdução ao Neo4j
• Dijkstra
• Lei do menor caminho ou caminho com menor peso.
Introdução ao Neo4j
• Graph Databases
• Porém, por meio dos relacionamentos
inerentes aos grafos, estas consultas tornam-se mais
simples e diretas.
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)
Instalação e Configuração
• Plataformas suportadas​
• Windows
• Linux/Unix
• Mac OSX
• Versões
• Community Edition
• Enterprise Edition
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.
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
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'
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
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; }
}
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
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
Aplicações e Usos
• Fraud Detection
• Real-time recommendations
• Social network
• Identity and access management
• Network ant IT operations
Hora do Demo
Hora do Demo
• Match
• Limit
• Insert
• Shortestpath
• Execution Plan
• WebAdmin
• Features “Escondidas”
Features “Escondidas”
• :play query template
• :play sysinfo
• :config
• EXPLAIN + query
• PROFILE + query
Dúvidas?
(graphs)[:ARE]›(everywhere)
FIM!
http://codigosimples.net

Mais conteúdo relacionado

PPTX
PPTX
Introdução ao neo4j
PPTX
Sistemas de recomendações e neo4J na cloud computing
PPTX
Introdução ao Neo4j
PPTX
Introdução ao neo4j com c# e asp.net core
PPTX
Graph of Thrones - Neo4j + Game of Thrones
PPTX
Sem limites com NoSQL
PPTX
Introdução ao NoSQL e modelagem de dados com MongoDB
Introdução ao neo4j
Sistemas de recomendações e neo4J na cloud computing
Introdução ao Neo4j
Introdução ao neo4j com c# e asp.net core
Graph of Thrones - Neo4j + Game of Thrones
Sem limites com NoSQL
Introdução ao NoSQL e modelagem de dados com MongoDB

Semelhante a Criando sistemas de recomendação com neo4j (20)

PPTX
Criando sistemas de recomendação com Neo4j
PDF
Postgresql como NewSQL - DevCamp 2014
PPTX
Minicurso mongo db
PPTX
Banco de Dados em Grafos com Neo4J
PDF
Voce ainda não conhece o mongoDb?
PDF
Apresentação Projeto Final Graduação UFF
PDF
Três anos de Scala no NewsMonitor
PDF
Ruby on rails gds 2011
KEY
NoSQL e MongoDB
PDF
Dados espaciais em R (2020)
PDF
MVP Conf 2018 - Pesquisa e Indexação de Documento com Azure Search
PDF
Estrutura de Dados e Algoritmos em Python.pdf
PPTX
SQL Server Heterogêneo: SQL Server + BigData
KEY
NoSQL e MongoDB - ETEC
PPTX
Nosql e BD Orientados a Documentos
PPTX
Expressões regulares
PDF
HTML, CSS & JS: olhando pra frente
PPTX
Javascript para CSharpers 4 - POO
PPTX
Fazendo barba, cabelo e bigode com REDIS
Criando sistemas de recomendação com Neo4j
Postgresql como NewSQL - DevCamp 2014
Minicurso mongo db
Banco de Dados em Grafos com Neo4J
Voce ainda não conhece o mongoDb?
Apresentação Projeto Final Graduação UFF
Três anos de Scala no NewsMonitor
Ruby on rails gds 2011
NoSQL e MongoDB
Dados espaciais em R (2020)
MVP Conf 2018 - Pesquisa e Indexação de Documento com Azure Search
Estrutura de Dados e Algoritmos em Python.pdf
SQL Server Heterogêneo: SQL Server + BigData
NoSQL e MongoDB - ETEC
Nosql e BD Orientados a Documentos
Expressões regulares
HTML, CSS & JS: olhando pra frente
Javascript para CSharpers 4 - POO
Fazendo barba, cabelo e bigode com REDIS
Anúncio

Mais de Jhonathan de Souza Soares (12)

PPT
Link Prediction with Neo4j
PPT
6 Principios arquitetura de dados moderna
PPTX
PPTX
Azure Service Fabric - Orquestrando aplicações .Net
PPTX
Azure CosmosDB para desenvolvedores de software
PPTX
Graph of Thrones - Neo4j + Game of Thrones
PPTX
CosmosDB from zero2hero
PPTX
NoSQL CosmosDB e IOT na era Serveless
PPTX
NoSQL Multi-Model - Conheça o CosmosDB
PPTX
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft
PPTX
Conhecendo o mongodb e clusterização de dados - ReplicaSet
PPT
Migrando dados do SQL para Neo4j - TDC
Link Prediction with Neo4j
6 Principios arquitetura de dados moderna
Azure Service Fabric - Orquestrando aplicações .Net
Azure CosmosDB para desenvolvedores de software
Graph of Thrones - Neo4j + Game of Thrones
CosmosDB from zero2hero
NoSQL CosmosDB e IOT na era Serveless
NoSQL Multi-Model - Conheça o CosmosDB
Análise de faces e emoções com Serviços Cognitivos de Visão da Microsoft
Conhecendo o mongodb e clusterização de dados - ReplicaSet
Migrando dados do SQL para Neo4j - TDC
Anúncio

Último (19)

PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
COBITxITIL-Entenda as diferença em uso governança TI
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Apple Pippin Uma breve introdução. - David Glotz
Aula04-Academia Heri- Tecnologia Geral 2025
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Aula 18 - Manipulacao De Arquivos python
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Processos na gestão de transportes, TM100 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14

Criando sistemas de recomendação com neo4j

  • 1. Introdução ao Neo4j – 3.x (GRAPHS)[:ARE]›(EVERYWHERE)
  • 2. Jhonathan S. Soares • MVP Microsoft – Visual Studio • Neo4j Top 50 Certified Developer • Criador do blog CodigoSimples.net
  • 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. 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. Introdução ao Neo4j • Graph Databases • Representar os dados e / ou o esquema dos dados como grafos dirigidos.
  • 6. Introdução ao Neo4j • Dijkstra • Lei do menor caminho ou caminho com menor peso.
  • 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. 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. Instalação e Configuração • Plataformas suportadas​ • Windows • Linux/Unix • Mac OSX • Versões • Community Edition • Enterprise Edition
  • 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. 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. 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. 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. 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. 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. 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. Aplicações e Usos • Fraud Detection • Real-time recommendations • Social network • Identity and access management • Network ant IT operations
  • 19. Hora do Demo • Match • Limit • Insert • Shortestpath • Execution Plan • WebAdmin • Features “Escondidas”
  • 20. Features “Escondidas” • :play query template • :play sysinfo • :config • EXPLAIN + query • PROFILE + query