Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Por que suas relações importam
Search
Lucas Santos
July 12, 2019
Programming
0
100
Por que suas relações importam
Lucas Santos
July 12, 2019
Tweet
Share
More Decks by Lucas Santos
See All by Lucas Santos
The Hitchhiker's Guide for an Amazing API with TypeScript
khaosdoctor
0
100
Escalando globalmente com TypeScript e JavaScript na Klarna
khaosdoctor
0
190
The future of JavaScript
khaosdoctor
0
61
TypeScript tips that could save your life
khaosdoctor
0
210
É hora de falar sobre Deno
khaosdoctor
0
77
JS Software testing for beginners
khaosdoctor
0
86
Ambientes dinâmicos com GitHub Actions
khaosdoctor
0
42
The Dark Side of JavaScript
khaosdoctor
0
79
Integrating Containers Into JavaScript
khaosdoctor
0
70
Other Decks in Programming
See All in Programming
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
0
1.9k
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
360
クラウドに依存しないS3を使った開発術
simesaba80
0
220
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
140
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
7
4.3k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.2k
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
160
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
4
720
re:Invent 2025 トレンドからみる製品開発への AI Agent 活用
yoskoh
0
620
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
630
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.4k
Deno Tunnel を使ってみた話
kamekyame
0
320
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Between Models and Reality
mayunak
1
160
How to make the Groovebox
asonas
2
1.9k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.8k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
190
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
180
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
430
Accessibility Awareness
sabderemane
0
34
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
39
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.2k
Transcript
Por que as relações entre seus dados importam?
senior solutions architect_ quem sou eu_ /khaosdoctor @_staticvoid lsantos.dev @khaosdoctor
nindoo.ai
obarra.co trainingcenter.io
abcdevelopers.org cupom: LSANTOSABCDEV2019
slsweek.netlify.com
Bancos de dados hoje_
lidamos bem com o crescimento dos dados
e o crescimento das relações entre esses dados?
O problema dos relacionamentos_
Bancos relacionais_
solução?
removemos os relacionamentos_
Bancos não-relacionais
Grafos_
O que são grafos_
nós_
1 1 Um nó simples
1 { name: 'alice' } Um nó com propriedades
alice:Person { name: 'alice' } Um nó com uma label
arestas_
FOLLOWS Relacionamento orientado 1 { name: 'alice' } 2 {
name: 'bob' }
1 { name: 'alice' } 2 { name: 'bob' }
FOLLOWS Relacionamento não orientado
FOLLOWS Relacionamento orientado com propriedades 1 { name: 'alice' }
2 { name: 'bob' } {since: '2018-04-10'}
None
None
Neo4J
Neo4J o banco para todos os seus grafos - Criado
em 2007 como uma alternativa a bancos relacionais - Escrito em Java - Utiliza Cypher como query language - Não é o único banco de grafos
Vantagens em bancos de grafos_
flexibilidade_
naturalidade_
velocidade_
Armazenamento nativo_
Armazenamento simulado_
Query language_
cypher
(a:Person)-[:FOLLOWS]->(b:Person)
Como montar uma query_
Quem me segue e segue outra pessoa que ainda não
me segue?
extrair constantes_
quem sou "eu"?
(me:Person {handler: '_StaticVoid'})
descrever o relacionamento_
uma pessoa que me segue
(p1:Person)-[r:FOLLOWS]->(me)
e segue outra pessoa
(p2:Person)<-[:FOLLOWS]-(p1:Person)-[:FOLLOWS]->(me)
que ainda não me segue
negações
WHERE NOT (p2)-[:FOLLOWS]->(me)
None
None
Extraindo inteligência
Teoria dos grafos_
Teoria dos Grafos - "Criada" por Leonhard Euler em 1736
- Visa analisar e extrair informações relevantes sobre grafos - Ótima para analisar grupos com relações bem estabelecidas - O problema das 7 pontes de Königsberg é o mais famoso - O problema do caixeiro viajante é um problema NP-Completo de grafos
Knight's tour
Inteligência Porque é muito mais do que um desenho -
Centralidade - Proximidade - PageRanking - ArticleRanking - Detecção de comunidades - Componentes conexos - Contagem de tríades - Encontrar caminhos - Menor caminho - Dijkstra - Similaridade - Predição de relacionamentos
Centralidade
importância de um nó sobre a rede
Betwenness A influência de um nó sobre o fluxo de
informações em um grafo.
None
Closeness (proximidade) Nós que são capazes de transmitir informação muito
rápido para a rede
None
PageRank A popularidade de um nó na rede
None
Detecção de comunidades_
Detecção de Louvain
None
Similaridade_
Jaccard Similaridade entre dois conjuntos
None
referências_ - https://en.wikipedia.org/wiki/Neo4j - https://en.wikipedia.org/wiki/Knight%27s_tour - https://pt.wikipedia.org/wiki/NP-completo - https://pt.wikipedia.org/wiki/Problema_do_caixeiro-viajante -
https://en.wikipedia.org/wiki/Seven_Bridges_of_Königsberg - https://en.wikipedia.org/wiki/Graph_theory - https://neo4j.com/docs/cypher-manual/current/introduction/ - https://neo4j.com/developer/cypher/ - https://neo4j.com/docs/getting-started/current/get-started-with-neo4j/ - https://neo4j.com/docs/graph-algorithms/current/introduction/ - https://www.youtube.com/watch?v=l76udM3wB4U&list=PL9Hl4pk2FsvWM9GWaguRhlCQ-pa-ERd4U - https://medium.com/neo4j/graph-visualization-with-neo4j-using-neovis-js-a2ecaaa7c379 - https://github.com/neo4j-contrib/neovis.js - https://neo4j.com/developer/tools-graph-visualization/
/khaosdoctor @_staticvoid lsantos.dev @khaosdoctor obrigado_