SlideShare uma empresa Scribd logo
1 de 50
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:
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

Semelhante a Banco Neo4J com R

ORM - TDC Porto Alegre 2014 Trilha .NET
ORM - TDC Porto Alegre 2014 Trilha .NETORM - TDC Porto Alegre 2014 Trilha .NET
ORM - TDC Porto Alegre 2014 Trilha .NETJorge Maia
 
Ciência de Dados com R Introducao.pdf
Ciência de Dados com R Introducao.pdfCiência de Dados com R Introducao.pdf
Ciência de Dados com R Introducao.pdfSecont
 
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSprofjotamarcosduarte
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...tdc-globalcode
 
NoSQL Onde Vivem e Como se Alimentam ?
NoSQL Onde Vivem e Como se Alimentam ? NoSQL Onde Vivem e Como se Alimentam ?
NoSQL Onde Vivem e Como se Alimentam ? Alvaro Viebrantz
 
Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Rogerio Fontes
 
No sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglotaNo sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglotaWaldemar Neto
 
DynamoDB: um banco NoSQL
DynamoDB: um banco NoSQLDynamoDB: um banco NoSQL
DynamoDB: um banco NoSQLCaliel Costa
 
Introdução ao mongodb
Introdução  ao mongodbIntrodução  ao mongodb
Introdução ao mongodbjm_ci
 
Introdução ao MONGODB
Introdução  ao MONGODBIntrodução  ao MONGODB
Introdução ao MONGODBjm_ci
 
Introdução ao mongodb - José Inoue - TchêLinux Uruguaiana
Introdução ao mongodb - José Inoue - TchêLinux UruguaianaIntrodução ao mongodb - José Inoue - TchêLinux Uruguaiana
Introdução ao mongodb - José Inoue - TchêLinux UruguaianaTchelinux
 
Django - O framework web para perfeccionistas com prazo
Django -  O framework web para perfeccionistas com prazoDjango -  O framework web para perfeccionistas com prazo
Django - O framework web para perfeccionistas com prazoTeeh Amaral
 

Semelhante a Banco Neo4J com R (20)

Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
ORM - TDC Porto Alegre 2014 Trilha .NET
ORM - TDC Porto Alegre 2014 Trilha .NETORM - TDC Porto Alegre 2014 Trilha .NET
ORM - TDC Porto Alegre 2014 Trilha .NET
 
Ciência de Dados com R Introducao.pdf
Ciência de Dados com R Introducao.pdfCiência de Dados com R Introducao.pdf
Ciência de Dados com R Introducao.pdf
 
cdr-intro.pdf
cdr-intro.pdfcdr-intro.pdf
cdr-intro.pdf
 
Neo4j + nodejs
Neo4j + nodejsNeo4j + nodejs
Neo4j + nodejs
 
Palestra nosql
Palestra nosqlPalestra nosql
Palestra nosql
 
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
 
Python 01
Python 01Python 01
Python 01
 
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
Open4Education | MC59 - Aprendendo a programar de forma divertida e eficiente...
 
NoSQL Onde Vivem e Como se Alimentam ?
NoSQL Onde Vivem e Como se Alimentam ? NoSQL Onde Vivem e Como se Alimentam ?
NoSQL Onde Vivem e Como se Alimentam ?
 
Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014Mongodb praquer-usar-uaijugcloudday2014
Mongodb praquer-usar-uaijugcloudday2014
 
No sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglotaNo sql no mundo da persistencia poliglota
No sql no mundo da persistencia poliglota
 
DynamoDB: um banco NoSQL
DynamoDB: um banco NoSQLDynamoDB: um banco NoSQL
DynamoDB: um banco NoSQL
 
Aula 9 - Introdução ao Python
Aula 9 - Introdução ao PythonAula 9 - Introdução ao Python
Aula 9 - Introdução ao Python
 
#Moving br workshop
#Moving br workshop#Moving br workshop
#Moving br workshop
 
Introdução ao mongodb
Introdução  ao mongodbIntrodução  ao mongodb
Introdução ao mongodb
 
Introdução ao MONGODB
Introdução  ao MONGODBIntrodução  ao MONGODB
Introdução ao MONGODB
 
Introdução ao mongodb - José Inoue - TchêLinux Uruguaiana
Introdução ao mongodb - José Inoue - TchêLinux UruguaianaIntrodução ao mongodb - José Inoue - TchêLinux Uruguaiana
Introdução ao mongodb - José Inoue - TchêLinux Uruguaiana
 
Introducao POO.pdf
Introducao POO.pdfIntroducao POO.pdf
Introducao POO.pdf
 
Django - O framework web para perfeccionistas com prazo
Django -  O framework web para perfeccionistas com prazoDjango -  O framework web para perfeccionistas com prazo
Django - O framework web para perfeccionistas com prazo
 

Mais de Davi Neves (19)

P566Aula09
P566Aula09P566Aula09
P566Aula09
 
P566Aula08
P566Aula08P566Aula08
P566Aula08
 
P566Aula07
P566Aula07P566Aula07
P566Aula07
 
P566Aula06
P566Aula06P566Aula06
P566Aula06
 
P566Aula05
P566Aula05P566Aula05
P566Aula05
 
P566Aula04
P566Aula04P566Aula04
P566Aula04
 
P566Aula03
P566Aula03P566Aula03
P566Aula03
 
P566Aula02
P566Aula02P566Aula02
P566Aula02
 
P566Aula01
P566Aula01P566Aula01
P566Aula01
 
P910Aula10
P910Aula10P910Aula10
P910Aula10
 
P910Aula09
P910Aula09P910Aula09
P910Aula09
 
P910Aula08
P910Aula08P910Aula08
P910Aula08
 
P910Aula07
P910Aula07P910Aula07
P910Aula07
 
P910Aula06
P910Aula06P910Aula06
P910Aula06
 
P910Aula05
P910Aula05P910Aula05
P910Aula05
 
P910Aula04
P910Aula04P910Aula04
P910Aula04
 
P910Aula03
P910Aula03P910Aula03
P910Aula03
 
P910Aula02
P910Aula02P910Aula02
P910Aula02
 
P910Aula01
P910Aula01P910Aula01
P910Aula01
 

Último

07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptxVagner Soares da Costa
 
Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3filiperigueira1
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxFlvioDadinhoNNhamizi
 
Tipos de Cargas - Conhecendo suas Características e Classificações.pdf
Tipos de Cargas - Conhecendo suas Características e Classificações.pdfTipos de Cargas - Conhecendo suas Características e Classificações.pdf
Tipos de Cargas - Conhecendo suas Características e Classificações.pdfMarcos Boaventura
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMdiminutcasamentos
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptxVagner Soares da Costa
 
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfPROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfdanielemarques481
 

Último (7)

07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
 
Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3Calculo vetorial - eletromagnetismo, calculo 3
Calculo vetorial - eletromagnetismo, calculo 3
 
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
 
Tipos de Cargas - Conhecendo suas Características e Classificações.pdf
Tipos de Cargas - Conhecendo suas Características e Classificações.pdfTipos de Cargas - Conhecendo suas Características e Classificações.pdf
Tipos de Cargas - Conhecendo suas Características e Classificações.pdf
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPM
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
 
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdfPROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
PROJETO DE INSTALAÇÕES ELÉTRICAS – REVIT MEP -.pdf
 

Banco Neo4J com R

  • 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:
  • 24.
  • 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/