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
Our Daily Graphs written in Ruby and Neo4j
Search
hannelita
October 24, 2014
Technology
1
180
Our Daily Graphs written in Ruby and Neo4j
Talk given at RubyConf AR 2014 - Buenos AIres
hannelita
October 24, 2014
Tweet
Share
More Decks by hannelita
See All by hannelita
Java EE 8 - Future, Wishes and Predictions
hannelita
1
210
JVM Internals Demystified
hannelita
0
360
Eletrônica
hannelita
0
180
Cassandra Meetup
hannelita
0
70
Wildfly em alta disponibilidade
hannelita
0
250
Helios - o backend pra Mobile que você precisava <3
hannelita
0
120
Neo4j - Dia a dia com grafos, Neo4j e Ruby
hannelita
1
140
Swift - uma fama repentina
hannelita
1
140
Curso relâmpago de eletrônica básica para desenvolvedores
hannelita
1
230
Other Decks in Technology
See All in Technology
Greenは本当にGreenか? - B/GデプロイとAPI自動テストで安心デプロイ
kaz29
0
130
ステートレスなLLMでステートフルなAI agentを作る - YAPC::Fukuoka 2025
gfx
8
1.4k
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
3
7.3k
スタートアップの事業成長を支えるアーキテクチャとエンジニアリング
doragt
1
6.2k
[CV勉強会@関東 ICCV2025] WoTE: End-to-End Driving with Online Trajectory Evaluation via BEV World Model
shinkyoto
0
330
事業状況で変化する最適解。進化し続ける開発組織とアーキテクチャ
caddi_eng
1
5.7k
PostgreSQL で列データ”ファイル”を利用する ~Arrow/Parquet を統合したデータベースの作成~
kaigai
0
160
アジャイル社内普及ご近所さんマップを作ろう / Let's create an agile neighborhood map
psj59129
1
140
ZOZOTOWNカート決済リプレイス ── モジュラモノリスという過渡期戦略
zozotech
PRO
0
510
クラウドネイティブ時代の 開発プロセス再設計 〜速さと品質を両立するには〜
moritamasami
0
100
Quarkusで作るInteractive Stream Application
joker1007
0
160
Moto: Latent Motion Token as the Bridging Language for Learning Robot Manipulation from Videos
peisuke
0
160
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Designing Experiences People Love
moore
142
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Code Reviewing Like a Champion
maltzj
527
40k
Visualization
eitanlees
150
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
How STYLIGHT went responsive
nonsquared
100
5.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Transcript
Our Daily Graphs Written in Ruby and Neo4j
Hola! / Oi! / Hi! • Hanneli - from Brazil
• CodeMiner 42 • Coffee (coffee, coffee, coffee, coffee, coffee, coffee), Pokémon, Lego and animals <3 HIRING
We *WON’T* see here • Advanced graph theory • Neo4j
complete guide • Java stuff (Neo4j is written in Java) • Social Networks classics example (eeeww)
Why graphs? In a Ruby Conference!
Example How does Codeminer build dev teams?
Example How does Codeminer build dev teams? MATCH
How many times have you made drawings like these?
Some history • Euler • Statistics • Patterns/relationship • Dependencies
• Routes
Persistence
Persistence
Persistence One of the first CS subjects is…
Do you remember? Queue Stack Hash Tree Graphs
Persistence What’s the first storing system we study! into databases
class? a. Queue b. Stack c. Hash d. Tree e. None
Persistence
Have you ever thought about it?
When did I notice that?
Hydropower modelling
Hydropower in Brazil
Wanna represent hydropower map into relational model HYDROPOWER_PLANT locale:float capacity:float
name:float providing_city_id:CITY neighbor_id:HYDROPOWER_PLANT population:int
FUUUUUUU….
FUUUUUUU…. • According to population, how should I create hydropower
plants neighbors? • If one plant shuts off, which one should replace it without causing damage to the entire system? • How should I avoid underuse? • Monitoring?
Double Fail….
‘Unleraned?'
Look at this
Similar?
Similar?
Graphs oriented databases Because not all data need to live
in tables
Neo4j
Our plants into graphs Itaipu! is_neighbor Itá latitude:33.43 longitude:32:33 capacity:1400
latitude:43.43 longitude:56:33 capacity:700 line_voltage:230
Our plants into graphs Itaipu! is_neighbor Itá latitude:33.43 longitude:32:33 capacity:1400
latitude:43.43 longitude:56:33 capacity:700 line_voltage:230 Node Relationship Attributes index
Visual representation Itaipu! Itá
Our plants into graphs Itaipu! feeds Foz do iguaçu latitude:33.43
longitude:32:33 capacity:1400 population:265000 feeds Curitiba population:1700000
How many people does Itaipu feed?
Traversal - Search Itaipu! feeds Foz do iguaçu latitude:33.43 longitude:32:33
capacity:1400 population:265000 feeds Curitiba population:1700000
Cypher
Neo4j with Ruby <3 neo4j.rb Active Record
Neo4j with Ruby <3 REST API Wrapper Neography
Neo4j - When should I not use?
Neo4j - When should I not use? • NoSQL Hater?
• Searches - BE CAREFUL (depth x width) • Cloud • Node Monitor • Infra (backup) • Limted RAM
Obrigada! @hannelita
[email protected]
Questions?