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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
hannelita
October 24, 2014
Technology
190
1
Share
Our Daily Graphs written in Ruby and Neo4j
Talk given at RubyConf AR 2014 - Buenos AIres
hannelita
October 24, 2014
More Decks by hannelita
See All by hannelita
Java EE 8 - Future, Wishes and Predictions
hannelita
1
230
JVM Internals Demystified
hannelita
0
380
Eletrônica
hannelita
0
200
Cassandra Meetup
hannelita
0
84
Wildfly em alta disponibilidade
hannelita
0
270
Helios - o backend pra Mobile que você precisava <3
hannelita
0
130
Neo4j - Dia a dia com grafos, Neo4j e Ruby
hannelita
1
160
Swift - uma fama repentina
hannelita
1
160
Curso relâmpago de eletrônica básica para desenvolvedores
hannelita
1
270
Other Decks in Technology
See All in Technology
正解のないAIプロダクトをどう導くか?dodaが挑む、ユーザーの『本音』を構造化する評価設計と検証のリアル
techtekt
PRO
0
160
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
870
サイバーセキュリティ概論 / Introduction to Cybersecurity
ks91
PRO
0
140
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
730
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
170
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
180
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
350
Databricks における 生成AIガバナンスの実践
taka_aki
1
290
Mastering Ruby Box
tagomoris
3
140
GoとSIMDとWasmの今。
askua
3
490
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
0
150
電子辞書Brainをネットに繋げてみた(自力編)
raspython3
0
430
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
260
Making the Leap to Tech Lead
cromwellryan
135
9.9k
For a Future-Friendly Web
brad_frost
183
10k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
430
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
The Invisible Side of Design
smashingmag
302
52k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
230
30 Presentation Tips
portentint
PRO
1
310
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?