Métodos computacionais
avançados
PARA ENGENHARIA DE PRODUÇÃO
Prof. Davi das Chagas Neves
Prof. Helton Cristiano Gomes
AULA 10
Banco de dados com Neo4J
➢ Bancos de dados NoSQL – Bancos orientados a
Grafos: Neo4J.
® Manipulação e representação de dados orientados
a grafos com R.
“Pessoas comuns buscam uma ordem no cosmos, enquanto
os gênios buscam compreender e controlar o caos.”
Albert Einstein, Físico Alemão.
“Do caos surge o cosmos, assim como em qualquer
desordem encontramos uma ordem secreta”
Carl Jung, Médico Suíço
Introdução ao Neo4J
INSTALAÇÃO
Introdução ao Neo4J
DOWNLOAD
Busque
1
2
Introdução ao Neo4J
Clique3
Preencha4
5
Introdução ao Neo4J
Copie e Salve
7
Clique Duas Vezes 8
Introdução ao Neo4J
✓ A instalação do software será iniciada, é uma instalação padrão
do Windows:
✓ A chave será solicitada, espero que tenha anotado!
NEXT NEXT NEXT END
Introdução ao Neo4J
B
U
S
Q
U
E
Menu Windows
Introdução ao Neo4J
Clique
1
Edite 2 ADICIONE O BANCO
3
Introdução ao Neo4J
CRIE O BANCO LOCAL4 Edite
7pontos
5
6
Clique
7
Introdução ao Neo4J – WORK OFFLINE
ESPERE
STARTOPEN
9 8
Introdução ao Neo4J
Informações do Banco de Dados
Scripts Favoritos de Cypher
Manual de Instruções e Exemplos
Configurações do Software
Informações
Salva o Script nos Favoritos
Apaga o Script Digitado
Executa o Script Digitado
Explore!
Introdução ao Neo4J
NEO4J – CRUD
Introdução ao Neo4J
➢ Glossário:
1) Nós – pontos de um Grafo, que neste caso são os dados orientados.
2) Relações ou Ligações – são arestas que ligam os nós em um Grafo, neste caso são
direcionados e representam as correlações entre os dados.
3) Labels – termos que denominam os nós ou as ligações, são os tipos de dados e
correlações.
4) Properties – são as informações referentes aos nós e às ligações, são os dados
constituintes de cada nó do seu banco.
❖ Nós == (:Label {Properties:})
❖ Relações == [:Label {Properties:}]
➢ Princípios da linguagem Cypher:
Introdução ao Neo4J
➢ Vamos introduzir a linguagem Cypher com um exemplo no qual 8 clientes
compram N produtos (10 tipos) em 3 lojas distintas.
➢ Primeiro: Criando dois nós e uma relação entre eles:
Sintaxe básica:
CREATE () : Cria Nós
CREATE ()-[]->() : Cria Relações
Introdução ao Neo4J
2
3
4
1
1) Execute o código, mas
o Grafo não vai
aparecer.
2) Para aparecer o Grafo
digite esta linha, vide
próximo slide.
3) Linha referente aos nós,
com informações e
possibilidades de
edição.
4) Linha referente às
relações, com
informações e edições.
Introdução ao Neo4J
➢ Segundo: Para ler (Read) ou pesquisar os dados neste banco, deve-se
utilizar a função MATCH, que é respectiva na linguagem Cypher à função
SELECT na linguagem SQL.
▪ A utilização desta função será amplamente explorada nos slides
seguintes, mas cabe salientar que para visualizar um Grafo:
MATCH (n) RETURN n
▪ O comando acima vai buscar (match) todos os nós (n) e retornar (return)
estes na tela, como foi apresentado no slide anterior.
Introdução ao Neo4J
➢ Terceiro: Use SET para atualizar (Update) os dados em um Nó:
➢ Podemos também atualizar as propriedades de uma Relação:
➢ 1122 é o NOVO valor do CPF da Maria e 5 é o NOVO peso da Relação.
➢ ATENÇÃO! Uma NOVA propriedade pode ser ADICIONADA com SET.
Introdução ao Neo4J
➢ Último: Por fim, para Deletar nós ou relações utilize os comandos:
❑ Nós sem relações:
MATCH (c:Cliente {nome:“Maria Santos”}) DELETE c
❑ Nós com relações:
MATCH (u:Cliente {nome:“Maria Santos”})-[r]-() DELETE u
❑ Deletando a relação CompraNa:
MATCH ()-[r:CompraNa]-() DELETE r
❑ Deletando TUDO:
MATCH (n) DETACH DELETE n
Após o CRUD vamos ao EXEMPLO:
DB: COMPRAS
Introdução ao Neo4J – Criando os Nós:
Ctrl + C
Ctrl + V
Introdução ao Neo4J
Introdução ao Neo4J – Criando as Relações:
P566Aula10
Introdução ao Neo4J
Agora que o banco já está
elaborado, podemos fazer
perguntas pertinentes.
Introdução ao Neo4J
❑ Quantas pessoas compraram geladeiras?
Introdução ao Neo4J
❑ Quais produtos a Fernanda Rocha comprou?
Introdução ao Neo4J
❑ Quais produtos a Fernanda comprou e onde comprou?
Introdução ao Neo4J
❑ Quais produtos a Fernanda Rocha NÃO comprou?
Introdução ao Neo4J
❑ Quantas geladeiras a Magazine Luiza vendeu?
Introdução ao Neo4J
❑ Quantas vendas a Magazine Luiza realizou?
11
Introdução ao Neo4J
❑ Quantas vendas a Magazine Luiza realizou?
Exporte
SOMA
Outra
Forma
Introdução ao Neo4J
❑ Qual é o valor total das vendas da loja Magazine Luiza?
➢ (2 Guarda-Roupas) 2400 + (2 Sofá) 1400 + (Panelas) 850 + (Cama) 1800 + (Mesa) 1400 +
(Micro-ondas) 400 + (Televisão) 1100 + (Estante) 600 + (Geladeira) 1200 = ?
➢ 2400+1400+850 + 1800+1400+400 + 1100+600+1200 = 4650 + 3600 + 2900 = 11150
Introdução ao Neo4J
❑ Dentre os 10 produtos, quais não foram vendidos pela Submarino?
Conferindo ...
Introdução ao Neo4J
❑ Dentre os 10 produtos, quais não foram vendidos pela Submarino?
Introdução ao Neo4J
❑ Quais clientes compraram produtos comuns aos comprados por Bruno?
Introdução ao Neo4J
❑ Quais clientes compraram produtos comuns aos comprados por Fernanda?
Resposta em uma lista de afinidades (os 5+):
Introdução ao Neo4J
❑ Demonstrando o resultado anterior para o cliente com maior afinidade:
Todas as perguntas foram respondidas
com 2 linhas de código, no MySQL
deveríamos utilizar combinações de JOIN,
o que levaria a códigos maiores e 30
vezes mais lentos.
Utilizando Neo4J com R
>>> install.packages(“neo4r”)
Library Neo4R
+ iGraph
Utilizando Neo4J com R
▪ Para executar o
código seguinte,
ative o banco
em Neo4J:
START
Utilizando Neo4J com R
ATENÇÃO
ATENÇÃO
ATENÇÃO
Utilizando Neo4J com R
ATENÇÃO
ATENÇÃO
Utilizando Neo4J com R
Ctrl + C
Ctrl + V
ATENÇÃO
iGraph
Utilizando Neo4J com R
Utilizando Neo4J com R
PROPRIEDADES IMPORTANTES
❑ Graus dos Nós é uma medida de centralidade do Grafo, sendo definido pela quantidade
de ligações (relações) conectadas a cada Nó.
❑ Proximidade dos Nós é uma medida de centralidade do Grafo, sendo definida pelo
inverso da soma das distâncias de um Nó referência a todos os outros.
❑ Intermediação dos Nós é uma medida de centralidade do Grafo, sendo definida pela
razão entre o número de caminhos mais curtos que passam por um Nó referente e o
número total de caminhos mais curtos do Grafo.
❑ PageRank é um valor definido por um algoritmo do Google que mede a importância de
um Nó contabilizando a quantidade e qualidade de ligações (relações) apontando para
este. Forma-se então uma lista com estes valores para cada Nó.
Utilizando
Neo4J
com R
iGraph
Bibliotecas de R para Engenheiros de Produção:
 Forecast – Previsão de séries temporais.
 Rglpk – API para o software de programação linear GLPK.
 Simmer – Simulação de filas e sistemas discretos.
 GA – Optimização de sistemas não lineares com algoritmo genético.
 GameTheory – Tomadas de decisão utilizando a teoria dos jogos.
 rDEA – Análise Envoltória de Dados para determinar benchmark.
 Neuralnet – Redes neurais simples, para inteligência artificial.
 SCPerf – Biblioteca para auxiliar no controle de estoque e cadeias de
suprimento.
 Explore mais no sites:
https://cran.r-project.org/
https://www.r-bloggers.com/

Mais conteúdo relacionado

PDF
Introdução ao NoSql
PPT
TDC2016SP - Trilha NoSQL
PPT
Migrando dados do SQL para Neo4j - TDC
PDF
InfluxDb: como monitorar milhares de dados por segundo em real time
PDF
Tdc2016 trilha-banco-influx.ppt
PPTX
TDC2016SP - Trilha Banco de Dados
DOC
portugol
PDF
Lógica de programação e algoritmos
Introdução ao NoSql
TDC2016SP - Trilha NoSQL
Migrando dados do SQL para Neo4j - TDC
InfluxDb: como monitorar milhares de dados por segundo em real time
Tdc2016 trilha-banco-influx.ppt
TDC2016SP - Trilha Banco de Dados
portugol
Lógica de programação e algoritmos

Semelhante a P566Aula10 (20)

PDF
PPT
ORM - TDC Porto Alegre 2014 Trilha .NET
PDF
cdr-intro.pdf
PDF
Ciência de Dados com R Introducao.pdf
PPTX
PDF
Palestra nosql
PPTX
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
KEY
Python 01
PDF
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
PDF
NoSQL Onde Vivem e Como se Alimentam ?
PDF
Mongodb praquer-usar-uaijugcloudday2014
PDF
Introdução a organização de computadores
PDF
No sql no mundo da persistencia poliglota
PDF
DynamoDB: um banco NoSQL
PDF
Aula 9 - Introdução ao Python
PPTX
#Moving br workshop
PDF
Linguagem C - introdução, tipos de dados
PDF
Linguagem C - introdução, tipos de dados
PPT
Introdução ao mongodb
PPT
Introdução ao MONGODB
ORM - TDC Porto Alegre 2014 Trilha .NET
cdr-intro.pdf
Ciência de Dados com R Introducao.pdf
Palestra nosql
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
Python 01
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
NoSQL Onde Vivem e Como se Alimentam ?
Mongodb praquer-usar-uaijugcloudday2014
Introdução a organização de computadores
No sql no mundo da persistencia poliglota
DynamoDB: um banco NoSQL
Aula 9 - Introdução ao Python
#Moving br workshop
Linguagem C - introdução, tipos de dados
Linguagem C - introdução, tipos de dados
Introdução ao mongodb
Introdução ao MONGODB
Anúncio

Mais de Davi Neves (19)

PDF
P566Aula09
PDF
P566Aula08
PDF
P566Aula07
PDF
P566Aula06
PDF
P566Aula05
PDF
P566Aula04
PDF
P566Aula03
PDF
P566Aula02
PDF
P566Aula01
PDF
P910Aula10
PDF
P910Aula09
PDF
P910Aula08
PDF
P910Aula07
PDF
P910Aula06
PDF
P910Aula05
PDF
P910Aula04
PDF
P910Aula03
PDF
P910Aula02
PDF
P910Aula01
P566Aula09
P566Aula08
P566Aula07
P566Aula06
P566Aula05
P566Aula04
P566Aula03
P566Aula02
P566Aula01
P910Aula10
P910Aula09
P910Aula08
P910Aula07
P910Aula06
P910Aula05
P910Aula04
P910Aula03
P910Aula02
P910Aula01
Anúncio

Último (20)

PPT
1 - Serviços em Eletricidade - 1° SOS RCP DEA - Rev a.ppt
PDF
Apresentação Empregado por Posto Adicional
PPT
Drenagem_Mapas_freaticos-7d8e2d1eee0040649b4e15eaa9d0c8c6.ppt
PPTX
Reciclagem do Munck.pptxdddddddddddddddd
PPT
aula biologia do solo na agronomia introdução
PPTX
APOSTILA DE AGENTE DE INSPEÇÃONBR 5426.pptx
PDF
Artigo sobre industria de petroleo em pdf
PPT
aula 1 biologia celular 2025.2 introdução.ppt
PPTX
1 Conceitos-de-Gestao-da-Qualidaade.pptx
PPTX
Panorama - Saneamento Rural PE - 21.05.25.pptx
PDF
aula 5 - Curvas horizontais circulares.pdf
PDF
07-Equipamento+de+protecao+individual+contra+queda+de+altura+Trava-queda+desl...
PPTX
Trabalho de investigação de mo C.A.E.pptx
PPT
Primeiros Socorros e Saúde Ocupacional Ferrosos Sul.ppt
PPT
Apresentação de acidente ocorrido nas dependencias da petrobras Aracaju 2.ppt
PPTX
1_Integração DE SEGURANÇA TRABALHO.2.pptx
DOCX
Cópia de Ordem de Serviço NR 01- Leonardo.docx
PPTX
Treinamento em powerpoint para integração de colaboradores em fábrica de pequ...
PPTX
Slide_Atualizações dos Protocolos de BLS e ACLS.pptx
PPTX
CRITÉRIOS E PROCEDIMENTOS PARA IDENTIFICAÇÃO DE PERIGOS E AVALIAÇÃO DE RISCOS...
1 - Serviços em Eletricidade - 1° SOS RCP DEA - Rev a.ppt
Apresentação Empregado por Posto Adicional
Drenagem_Mapas_freaticos-7d8e2d1eee0040649b4e15eaa9d0c8c6.ppt
Reciclagem do Munck.pptxdddddddddddddddd
aula biologia do solo na agronomia introdução
APOSTILA DE AGENTE DE INSPEÇÃONBR 5426.pptx
Artigo sobre industria de petroleo em pdf
aula 1 biologia celular 2025.2 introdução.ppt
1 Conceitos-de-Gestao-da-Qualidaade.pptx
Panorama - Saneamento Rural PE - 21.05.25.pptx
aula 5 - Curvas horizontais circulares.pdf
07-Equipamento+de+protecao+individual+contra+queda+de+altura+Trava-queda+desl...
Trabalho de investigação de mo C.A.E.pptx
Primeiros Socorros e Saúde Ocupacional Ferrosos Sul.ppt
Apresentação de acidente ocorrido nas dependencias da petrobras Aracaju 2.ppt
1_Integração DE SEGURANÇA TRABALHO.2.pptx
Cópia de Ordem de Serviço NR 01- Leonardo.docx
Treinamento em powerpoint para integração de colaboradores em fábrica de pequ...
Slide_Atualizações dos Protocolos de BLS e ACLS.pptx
CRITÉRIOS E PROCEDIMENTOS PARA IDENTIFICAÇÃO DE PERIGOS E AVALIAÇÃO DE RISCOS...

P566Aula10

  • 1. Métodos computacionais avançados PARA ENGENHARIA DE PRODUÇÃO Prof. Davi das Chagas Neves Prof. Helton Cristiano Gomes AULA 10
  • 2. Banco de dados com Neo4J ➢ Bancos de dados NoSQL – Bancos orientados a Grafos: Neo4J. ® Manipulação e representação de dados orientados a grafos com R. “Pessoas comuns buscam uma ordem no cosmos, enquanto os gênios buscam compreender e controlar o caos.” Albert Einstein, Físico Alemão. “Do caos surge o cosmos, assim como em qualquer desordem encontramos uma ordem secreta” Carl Jung, Médico Suíço
  • 6. Introdução ao Neo4J Copie e Salve 7 Clique Duas Vezes 8
  • 7. Introdução ao Neo4J ✓ A instalação do software será iniciada, é uma instalação padrão do Windows: ✓ A chave será solicitada, espero que tenha anotado! NEXT NEXT NEXT END
  • 10. Introdução ao Neo4J CRIE O BANCO LOCAL4 Edite 7pontos 5 6 Clique 7
  • 11. Introdução ao Neo4J – WORK OFFLINE ESPERE STARTOPEN 9 8
  • 12. Introdução ao Neo4J Informações do Banco de Dados Scripts Favoritos de Cypher Manual de Instruções e Exemplos Configurações do Software Informações Salva o Script nos Favoritos Apaga o Script Digitado Executa o Script Digitado Explore!
  • 14. Introdução ao Neo4J ➢ Glossário: 1) Nós – pontos de um Grafo, que neste caso são os dados orientados. 2) Relações ou Ligações – são arestas que ligam os nós em um Grafo, neste caso são direcionados e representam as correlações entre os dados. 3) Labels – termos que denominam os nós ou as ligações, são os tipos de dados e correlações. 4) Properties – são as informações referentes aos nós e às ligações, são os dados constituintes de cada nó do seu banco. ❖ Nós == (:Label {Properties:}) ❖ Relações == [:Label {Properties:}] ➢ Princípios da linguagem Cypher:
  • 15. Introdução ao Neo4J ➢ Vamos introduzir a linguagem Cypher com um exemplo no qual 8 clientes compram N produtos (10 tipos) em 3 lojas distintas. ➢ Primeiro: Criando dois nós e uma relação entre eles: Sintaxe básica: CREATE () : Cria Nós CREATE ()-[]->() : Cria Relações
  • 16. Introdução ao Neo4J 2 3 4 1 1) Execute o código, mas o Grafo não vai aparecer. 2) Para aparecer o Grafo digite esta linha, vide próximo slide. 3) Linha referente aos nós, com informações e possibilidades de edição. 4) Linha referente às relações, com informações e edições.
  • 17. Introdução ao Neo4J ➢ Segundo: Para ler (Read) ou pesquisar os dados neste banco, deve-se utilizar a função MATCH, que é respectiva na linguagem Cypher à função SELECT na linguagem SQL. ▪ A utilização desta função será amplamente explorada nos slides seguintes, mas cabe salientar que para visualizar um Grafo: MATCH (n) RETURN n ▪ O comando acima vai buscar (match) todos os nós (n) e retornar (return) estes na tela, como foi apresentado no slide anterior.
  • 18. Introdução ao Neo4J ➢ Terceiro: Use SET para atualizar (Update) os dados em um Nó: ➢ Podemos também atualizar as propriedades de uma Relação: ➢ 1122 é o NOVO valor do CPF da Maria e 5 é o NOVO peso da Relação. ➢ ATENÇÃO! Uma NOVA propriedade pode ser ADICIONADA com SET.
  • 19. Introdução ao Neo4J ➢ Último: Por fim, para Deletar nós ou relações utilize os comandos: ❑ Nós sem relações: MATCH (c:Cliente {nome:“Maria Santos”}) DELETE c ❑ Nós com relações: MATCH (u:Cliente {nome:“Maria Santos”})-[r]-() DELETE u ❑ Deletando a relação CompraNa: MATCH ()-[r:CompraNa]-() DELETE r ❑ Deletando TUDO: MATCH (n) DETACH DELETE n
  • 20. Após o CRUD vamos ao EXEMPLO: DB: COMPRAS
  • 21. Introdução ao Neo4J – Criando os Nós: Ctrl + C Ctrl + V
  • 23. Introdução ao Neo4J – Criando as Relações:
  • 26. Agora que o banco já está elaborado, podemos fazer perguntas pertinentes.
  • 27. Introdução ao Neo4J ❑ Quantas pessoas compraram geladeiras?
  • 28. Introdução ao Neo4J ❑ Quais produtos a Fernanda Rocha comprou?
  • 29. Introdução ao Neo4J ❑ Quais produtos a Fernanda comprou e onde comprou?
  • 30. Introdução ao Neo4J ❑ Quais produtos a Fernanda Rocha NÃO comprou?
  • 31. Introdução ao Neo4J ❑ Quantas geladeiras a Magazine Luiza vendeu?
  • 32. Introdução ao Neo4J ❑ Quantas vendas a Magazine Luiza realizou? 11
  • 33. Introdução ao Neo4J ❑ Quantas vendas a Magazine Luiza realizou? Exporte SOMA Outra Forma
  • 34. Introdução ao Neo4J ❑ Qual é o valor total das vendas da loja Magazine Luiza? ➢ (2 Guarda-Roupas) 2400 + (2 Sofá) 1400 + (Panelas) 850 + (Cama) 1800 + (Mesa) 1400 + (Micro-ondas) 400 + (Televisão) 1100 + (Estante) 600 + (Geladeira) 1200 = ? ➢ 2400+1400+850 + 1800+1400+400 + 1100+600+1200 = 4650 + 3600 + 2900 = 11150
  • 35. Introdução ao Neo4J ❑ Dentre os 10 produtos, quais não foram vendidos pela Submarino? Conferindo ...
  • 36. Introdução ao Neo4J ❑ Dentre os 10 produtos, quais não foram vendidos pela Submarino?
  • 37. Introdução ao Neo4J ❑ Quais clientes compraram produtos comuns aos comprados por Bruno?
  • 38. Introdução ao Neo4J ❑ Quais clientes compraram produtos comuns aos comprados por Fernanda? Resposta em uma lista de afinidades (os 5+):
  • 39. Introdução ao Neo4J ❑ Demonstrando o resultado anterior para o cliente com maior afinidade:
  • 40. Todas as perguntas foram respondidas com 2 linhas de código, no MySQL deveríamos utilizar combinações de JOIN, o que levaria a códigos maiores e 30 vezes mais lentos.
  • 41. Utilizando Neo4J com R >>> install.packages(“neo4r”) Library Neo4R + iGraph
  • 42. Utilizando Neo4J com R ▪ Para executar o código seguinte, ative o banco em Neo4J: START
  • 43. Utilizando Neo4J com R ATENÇÃO ATENÇÃO ATENÇÃO
  • 44. Utilizando Neo4J com R ATENÇÃO ATENÇÃO
  • 45. Utilizando Neo4J com R Ctrl + C Ctrl + V ATENÇÃO
  • 48. Utilizando Neo4J com R PROPRIEDADES IMPORTANTES ❑ Graus dos Nós é uma medida de centralidade do Grafo, sendo definido pela quantidade de ligações (relações) conectadas a cada Nó. ❑ Proximidade dos Nós é uma medida de centralidade do Grafo, sendo definida pelo inverso da soma das distâncias de um Nó referência a todos os outros. ❑ Intermediação dos Nós é uma medida de centralidade do Grafo, sendo definida pela razão entre o número de caminhos mais curtos que passam por um Nó referente e o número total de caminhos mais curtos do Grafo. ❑ PageRank é um valor definido por um algoritmo do Google que mede a importância de um Nó contabilizando a quantidade e qualidade de ligações (relações) apontando para este. Forma-se então uma lista com estes valores para cada Nó.
  • 50. Bibliotecas de R para Engenheiros de Produção:  Forecast – Previsão de séries temporais.  Rglpk – API para o software de programação linear GLPK.  Simmer – Simulação de filas e sistemas discretos.  GA – Optimização de sistemas não lineares com algoritmo genético.  GameTheory – Tomadas de decisão utilizando a teoria dos jogos.  rDEA – Análise Envoltória de Dados para determinar benchmark.  Neuralnet – Redes neurais simples, para inteligência artificial.  SCPerf – Biblioteca para auxiliar no controle de estoque e cadeias de suprimento.  Explore mais no sites: https://cran.r-project.org/ https://www.r-bloggers.com/