SlideShare uma empresa Scribd logo
1 de 26
Graph of Thrones
(GRAPHS)[:ARE]›(EVERYWHERE)
Jhonathan S. Soares
• MVP Microsoft – Visual Studio
• Neo4j Top 50 Certified Developer
• MongoDB Evangelist
• Criador do blog CodigoSimples.net
DISCLAIMER
• SE VOCÊ JÁ VIU TUDO SOBRE GAME OF THRONES, OK
• SE VOCÊ NÃO VIU TUDO, MAS NÃO SE IMPORTA DE RECEBER
ALGUNS SPOILERS, OK
• SE VOCÊ NUNCA VIU, PREPARE-SE PARA SPOLERS
• SE VOCÊ NUNCA VIU E QUER VER E NÃO QUER SPOILERS, VOCÊ
ESTÁ EM PÉSSIMO LUGAR AGORA!
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
• Dijkstra
• Lei do menor caminho ou caminho com menor peso.
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
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
Aplicações e Usos
• Fraud Detection
• Real-time recommendations
• Social network
• Identity and access management
• Network ant IT operations
• Game of Thrones
• http://gameofthrones.wikia.com/wiki/Game_of_Thrones_Wiki
Hora do Demo
Questões pertinentes para o Neo4j
• Quem é o personagem mais prominente?
• Quem é a casa mais populosa?
• Como os starks e os tararyans estão relacionados?
Um pouco sobre modelagem ...
Nodes
Labels
Properties
Relationships
Demo time
• 1º Dataset
• :play https://guides.neo4j.com/got_wwc
• 2º Dataset
• :play http://guides.neo4j.com/got
Dúvidas?
(graphs)[:ARE]›(everywhere)
FIM!
http://codigosimples.net

Mais conteúdo relacionado

Mais procurados

NoSQL, o que realmente é?
NoSQL, o que realmente é?NoSQL, o que realmente é?
NoSQL, o que realmente é?Thiago Avelino
 
Introdução a nosql - II SACIC
Introdução a nosql - II SACICIntrodução a nosql - II SACIC
Introdução a nosql - II SACICcaironoleto
 
VIII sessão SQL Bahia - Conhecendo o Microsoft SQL Operations Studio
VIII sessão SQL Bahia - Conhecendo o Microsoft SQL Operations StudioVIII sessão SQL Bahia - Conhecendo o Microsoft SQL Operations Studio
VIII sessão SQL Bahia - Conhecendo o Microsoft SQL Operations StudioAnderson Souza
 
O Guia de Sobrevivência do "DBA Moderno"
O Guia de Sobrevivência do "DBA Moderno"O Guia de Sobrevivência do "DBA Moderno"
O Guia de Sobrevivência do "DBA Moderno"Raul Oliveira
 
TDC BH | FRONT-END: As diversas formas do css moderno
TDC BH | FRONT-END: As diversas formas do css modernoTDC BH | FRONT-END: As diversas formas do css moderno
TDC BH | FRONT-END: As diversas formas do css modernoRogério de Moura
 
Repensando seu CSS - Boas práticas e performance
Repensando seu CSS - Boas práticas e performanceRepensando seu CSS - Boas práticas e performance
Repensando seu CSS - Boas práticas e performanceWilliam Bruno Moraes
 
Introdução ao CakePHP
Introdução ao CakePHPIntrodução ao CakePHP
Introdução ao CakePHPRafael Cichini
 

Mais procurados (10)

NoSQL, o que realmente é?
NoSQL, o que realmente é?NoSQL, o que realmente é?
NoSQL, o que realmente é?
 
Introdução a nosql - II SACIC
Introdução a nosql - II SACICIntrodução a nosql - II SACIC
Introdução a nosql - II SACIC
 
Curso: A cloud no Doutorado
Curso: A cloud no DoutoradoCurso: A cloud no Doutorado
Curso: A cloud no Doutorado
 
VIII sessão SQL Bahia - Conhecendo o Microsoft SQL Operations Studio
VIII sessão SQL Bahia - Conhecendo o Microsoft SQL Operations StudioVIII sessão SQL Bahia - Conhecendo o Microsoft SQL Operations Studio
VIII sessão SQL Bahia - Conhecendo o Microsoft SQL Operations Studio
 
O Guia de Sobrevivência do "DBA Moderno"
O Guia de Sobrevivência do "DBA Moderno"O Guia de Sobrevivência do "DBA Moderno"
O Guia de Sobrevivência do "DBA Moderno"
 
NOSQL
NOSQLNOSQL
NOSQL
 
[Sass] Aula 01
[Sass] Aula 01[Sass] Aula 01
[Sass] Aula 01
 
TDC BH | FRONT-END: As diversas formas do css moderno
TDC BH | FRONT-END: As diversas formas do css modernoTDC BH | FRONT-END: As diversas formas do css moderno
TDC BH | FRONT-END: As diversas formas do css moderno
 
Repensando seu CSS - Boas práticas e performance
Repensando seu CSS - Boas práticas e performanceRepensando seu CSS - Boas práticas e performance
Repensando seu CSS - Boas práticas e performance
 
Introdução ao CakePHP
Introdução ao CakePHPIntrodução ao CakePHP
Introdução ao CakePHP
 

Semelhante a Graph of Thrones - Neo4j + Game of Thrones

Criando sistemas de recomendação com neo4j
Criando sistemas de recomendação com  neo4jCriando sistemas de recomendação com  neo4j
Criando sistemas de recomendação com neo4jJhonathan de Souza Soares
 
Java e Mercado de Trabalho
Java e Mercado de TrabalhoJava e Mercado de Trabalho
Java e Mercado de TrabalhoEduardo Carvalho
 
O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)Wellington Silva
 
Git e a importância de versionar um projeto
 Git e a importância de versionar um projeto Git e a importância de versionar um projeto
Git e a importância de versionar um projetoGuilherme Farias
 
Escalabilidade com Redis
Escalabilidade com Redis Escalabilidade com Redis
Escalabilidade com Redis Mario Guedes
 
O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7º meetup de Docker SP)O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7º meetup de Docker SP)Wellington Silva
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISMario Guedes
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISArrayOf.io
 
XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!
XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!
XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!Mauricio Andreazza
 
Bancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBBancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBPaulo Bischof
 
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleTDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleStefan Teixeira
 
KDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TI
KDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TIKDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TI
KDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TImarioaxavier7
 

Semelhante a Graph of Thrones - Neo4j + Game of Thrones (20)

Neo4j + nodejs
Neo4j + nodejsNeo4j + nodejs
Neo4j + nodejs
 
Introdução ao neo4j
Introdução ao neo4jIntrodução ao neo4j
Introdução ao neo4j
 
Introdução ao neo4j com c# e asp.net core
Introdução ao neo4j com c# e asp.net coreIntrodução ao neo4j com c# e asp.net core
Introdução ao neo4j com c# e asp.net core
 
Criando sistemas de recomendação com neo4j
Criando sistemas de recomendação com  neo4jCriando sistemas de recomendação com  neo4j
Criando sistemas de recomendação com neo4j
 
Java e Mercado de Trabalho
Java e Mercado de TrabalhoJava e Mercado de Trabalho
Java e Mercado de Trabalho
 
Nosql4java
Nosql4javaNosql4java
Nosql4java
 
SFD - C# para a comunidade
SFD - C# para a comunidadeSFD - C# para a comunidade
SFD - C# para a comunidade
 
O poder do Docker (7 Masters)
O poder do Docker (7 Masters)O poder do Docker (7 Masters)
O poder do Docker (7 Masters)
 
Git e a importância de versionar um projeto
 Git e a importância de versionar um projeto Git e a importância de versionar um projeto
Git e a importância de versionar um projeto
 
Escalabilidade com Redis
Escalabilidade com Redis Escalabilidade com Redis
Escalabilidade com Redis
 
O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7º meetup de Docker SP)O poder do Docker (7º meetup de Docker SP)
O poder do Docker (7º meetup de Docker SP)
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDIS
 
Fazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDIS
 
Api todo list
Api todo listApi todo list
Api todo list
 
Mercado hoje
Mercado hojeMercado hoje
Mercado hoje
 
XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!
XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!
XP Conf BR: eXtreme Programming para programadores. Aplicando XP em seu código!
 
Bancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDBBancos de dados NoSQL - Redis e MongoDB
Bancos de dados NoSQL - Redis e MongoDB
 
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e AnsibleTDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
TDC 2015 Floripa - Criando ambientes de forma simples com Docker e Ansible
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
KDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TI
KDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TIKDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TI
KDE Neon & KDE Plasma: venha para o KDE e ganhe experiencia profissional em TI
 

Mais de Jhonathan de Souza Soares

Mais de Jhonathan de Souza Soares (10)

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

Graph of Thrones - Neo4j + Game of Thrones

  • 2. Jhonathan S. Soares • MVP Microsoft – Visual Studio • Neo4j Top 50 Certified Developer • MongoDB Evangelist • Criador do blog CodigoSimples.net
  • 3. DISCLAIMER • SE VOCÊ JÁ VIU TUDO SOBRE GAME OF THRONES, OK • SE VOCÊ NÃO VIU TUDO, MAS NÃO SE IMPORTA DE RECEBER ALGUNS SPOILERS, OK • SE VOCÊ NUNCA VIU, PREPARE-SE PARA SPOLERS • SE VOCÊ NUNCA VIU E QUER VER E NÃO QUER SPOILERS, VOCÊ ESTÁ EM PÉSSIMO LUGAR AGORA!
  • 4.
  • 5. 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
  • 6. Introdução ao Neo4j • Dijkstra • Lei do menor caminho ou caminho com menor peso.
  • 7. 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)
  • 8. Instalação e Configuração • Plataformas suportadas​ • Windows • Linux/Unix • Mac OSX • Versões • Community Edition • Enterprise Edition
  • 9. 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.
  • 10. 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
  • 11. Introdução à Cypher Query • Conceitos • MATCH (p:pessoa{idade: 25}) RETURN p • SELECT * FROM Pessoa WHERE idade = 25
  • 12. 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
  • 13. Aplicações e Usos • Fraud Detection • Real-time recommendations • Social network • Identity and access management • Network ant IT operations • Game of Thrones • http://gameofthrones.wikia.com/wiki/Game_of_Thrones_Wiki
  • 15.
  • 16.
  • 17.
  • 18. Questões pertinentes para o Neo4j • Quem é o personagem mais prominente? • Quem é a casa mais populosa? • Como os starks e os tararyans estão relacionados?
  • 19. Um pouco sobre modelagem ...
  • 20. Nodes
  • 24. Demo time • 1º Dataset • :play https://guides.neo4j.com/got_wwc • 2º Dataset • :play http://guides.neo4j.com/got