Submit Search
Upload
In The Land Of Graphs...
•
0 likes
•
802 views
Fernand Galiana
Follow
Scottland Ruby Conference 2014
Read less
Read more
Technology
Self Improvement
Report
Share
Report
Share
1 of 61
Download now
Download to read offline
Recommended
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
Masahiro Sakai
Clojure/conj 2017
Clojure/conj 2017
Darren Kim
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
Heroku
Clojure
Clojure
Yiguang Hu
La R Users Group Survey Of R Graphics
La R Users Group Survey Of R Graphics
guest43ed8709
Clojure from ground up
Clojure from ground up
Di Xu
Jan Pustelnik - Curry-Howard w praktyce
Jan Pustelnik - Curry-Howard w praktyce
SegFaultConf
CEDAR & PRELIDA Preservation of Linked Socio-Historical Data
CEDAR & PRELIDA Preservation of Linked Socio-Historical Data
PRELIDA Project
Recommended
関数プログラマから見たPythonと機械学習
関数プログラマから見たPythonと機械学習
Masahiro Sakai
Clojure/conj 2017
Clojure/conj 2017
Darren Kim
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
Rdio's Alex Gaynor at Heroku's Waza 2013: Why Python, Ruby and Javascript are...
Heroku
Clojure
Clojure
Yiguang Hu
La R Users Group Survey Of R Graphics
La R Users Group Survey Of R Graphics
guest43ed8709
Clojure from ground up
Clojure from ground up
Di Xu
Jan Pustelnik - Curry-Howard w praktyce
Jan Pustelnik - Curry-Howard w praktyce
SegFaultConf
CEDAR & PRELIDA Preservation of Linked Socio-Historical Data
CEDAR & PRELIDA Preservation of Linked Socio-Historical Data
PRELIDA Project
Bucket List Item #1246
Bucket List Item #1246
Fernand Galiana
Ingenious
Ingenious
guest9c6b4d
What's new in Rails5?
What's new in Rails5?
Fernand Galiana
Advanced Topics Snippets Lib Meter Zbw Hh Workshop
Advanced Topics Snippets Lib Meter Zbw Hh Workshop
LibMeter
Engines
Engines
Fernand Galiana
Docker Container Orchestration
Docker Container Orchestration
Fernand Galiana
GraphX: Graph Analytics in Apache Spark (AMPCamp 5, 2014-11-20)
GraphX: Graph Analytics in Apache Spark (AMPCamp 5, 2014-11-20)
Ankur Dave
Getting Started with Graph Databases
Getting Started with Graph Databases
DataStax Academy
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
Jeremy Kendall
Geospatial Data in R
Geospatial Data in R
Barry Rowlingson
NoSQL Tel Aviv Meetup #2: Who Is Afraid of Graphs?
NoSQL Tel Aviv Meetup #2: Who Is Afraid of Graphs?
NoSQL TLV
Who's afraid of graphs
Who's afraid of graphs
SirKetchup
Neo4j
Neo4j
George Eleftheriadis
Rug hogan-10-03-2012
Rug hogan-10-03-2012
designandanalytics
Soft Shake Event / A soft introduction to Neo4J
Soft Shake Event / A soft introduction to Neo4J
Florent Biville
Hands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4j
Serendio Inc.
DevFest Istanbul - a free guided tour of Neo4J
DevFest Istanbul - a free guided tour of Neo4J
Florent Biville
1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real World
Achim Friedland
The Path-o-Logical Gremlin
The Path-o-Logical Gremlin
Marko Rodriguez
Who’s Afraid of Graphs?
Who’s Afraid of Graphs?
Codemotion
Application Modeling with Graph Databases
Application Modeling with Graph Databases
Josh Adell
BUILDING WHILE FLYING
BUILDING WHILE FLYING
Kamal Shannak
More Related Content
Viewers also liked
Bucket List Item #1246
Bucket List Item #1246
Fernand Galiana
Ingenious
Ingenious
guest9c6b4d
What's new in Rails5?
What's new in Rails5?
Fernand Galiana
Advanced Topics Snippets Lib Meter Zbw Hh Workshop
Advanced Topics Snippets Lib Meter Zbw Hh Workshop
LibMeter
Engines
Engines
Fernand Galiana
Docker Container Orchestration
Docker Container Orchestration
Fernand Galiana
Viewers also liked
(6)
Bucket List Item #1246
Bucket List Item #1246
Ingenious
Ingenious
What's new in Rails5?
What's new in Rails5?
Advanced Topics Snippets Lib Meter Zbw Hh Workshop
Advanced Topics Snippets Lib Meter Zbw Hh Workshop
Engines
Engines
Docker Container Orchestration
Docker Container Orchestration
Similar to In The Land Of Graphs...
GraphX: Graph Analytics in Apache Spark (AMPCamp 5, 2014-11-20)
GraphX: Graph Analytics in Apache Spark (AMPCamp 5, 2014-11-20)
Ankur Dave
Getting Started with Graph Databases
Getting Started with Graph Databases
DataStax Academy
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
Jeremy Kendall
Geospatial Data in R
Geospatial Data in R
Barry Rowlingson
NoSQL Tel Aviv Meetup #2: Who Is Afraid of Graphs?
NoSQL Tel Aviv Meetup #2: Who Is Afraid of Graphs?
NoSQL TLV
Who's afraid of graphs
Who's afraid of graphs
SirKetchup
Neo4j
Neo4j
George Eleftheriadis
Rug hogan-10-03-2012
Rug hogan-10-03-2012
designandanalytics
Soft Shake Event / A soft introduction to Neo4J
Soft Shake Event / A soft introduction to Neo4J
Florent Biville
Hands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4j
Serendio Inc.
DevFest Istanbul - a free guided tour of Neo4J
DevFest Istanbul - a free guided tour of Neo4J
Florent Biville
1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real World
Achim Friedland
The Path-o-Logical Gremlin
The Path-o-Logical Gremlin
Marko Rodriguez
Who’s Afraid of Graphs?
Who’s Afraid of Graphs?
Codemotion
Application Modeling with Graph Databases
Application Modeling with Graph Databases
Josh Adell
BUILDING WHILE FLYING
BUILDING WHILE FLYING
Kamal Shannak
Betabit - syrwag 2018-03-28
Betabit - syrwag 2018-03-28
Daniël te Winkel
Mapping Graph Queries to PostgreSQL
Mapping Graph Queries to PostgreSQL
Gábor Szárnyas
A walk in graph databases v1.0
A walk in graph databases v1.0
Pierre De Wilde
Windy City DB - Recommendation Engine with Neo4j
Windy City DB - Recommendation Engine with Neo4j
Max De Marzi
Similar to In The Land Of Graphs...
(20)
GraphX: Graph Analytics in Apache Spark (AMPCamp 5, 2014-11-20)
GraphX: Graph Analytics in Apache Spark (AMPCamp 5, 2014-11-20)
Getting Started with Graph Databases
Getting Started with Graph Databases
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
Geospatial Data in R
Geospatial Data in R
NoSQL Tel Aviv Meetup #2: Who Is Afraid of Graphs?
NoSQL Tel Aviv Meetup #2: Who Is Afraid of Graphs?
Who's afraid of graphs
Who's afraid of graphs
Neo4j
Neo4j
Rug hogan-10-03-2012
Rug hogan-10-03-2012
Soft Shake Event / A soft introduction to Neo4J
Soft Shake Event / A soft introduction to Neo4J
Hands on Training – Graph Database with Neo4j
Hands on Training – Graph Database with Neo4j
DevFest Istanbul - a free guided tour of Neo4J
DevFest Istanbul - a free guided tour of Neo4J
1st UIM-GDB - Connections to the Real World
1st UIM-GDB - Connections to the Real World
The Path-o-Logical Gremlin
The Path-o-Logical Gremlin
Who’s Afraid of Graphs?
Who’s Afraid of Graphs?
Application Modeling with Graph Databases
Application Modeling with Graph Databases
BUILDING WHILE FLYING
BUILDING WHILE FLYING
Betabit - syrwag 2018-03-28
Betabit - syrwag 2018-03-28
Mapping Graph Queries to PostgreSQL
Mapping Graph Queries to PostgreSQL
A walk in graph databases v1.0
A walk in graph databases v1.0
Windy City DB - Recommendation Engine with Neo4j
Windy City DB - Recommendation Engine with Neo4j
More from Fernand Galiana
GraphQLUs For The RestOfUs!
GraphQLUs For The RestOfUs!
Fernand Galiana
Sailing into 2018 with Kubernetes and Istio
Sailing into 2018 with Kubernetes and Istio
Fernand Galiana
GraphQL, The New Black?
GraphQL, The New Black?
Fernand Galiana
You, Mix and Kubee
You, Mix and Kubee
Fernand Galiana
I motion
I motion
Fernand Galiana
R-House (LSRC)
R-House (LSRC)
Fernand Galiana
Rhouse - Home automation is ruby ?
Rhouse - Home automation is ruby ?
Fernand Galiana
More from Fernand Galiana
(7)
GraphQLUs For The RestOfUs!
GraphQLUs For The RestOfUs!
Sailing into 2018 with Kubernetes and Istio
Sailing into 2018 with Kubernetes and Istio
GraphQL, The New Black?
GraphQL, The New Black?
You, Mix and Kubee
You, Mix and Kubee
I motion
I motion
R-House (LSRC)
R-House (LSRC)
Rhouse - Home automation is ruby ?
Rhouse - Home automation is ruby ?
Recently uploaded
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Scott Keck-Warren
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
Ridwan Fadjar
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Pooja Nehwal
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Results
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
shyamraj55
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
Recently uploaded
(20)
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Slack Application Development 101 Slides
Slack Application Development 101 Slides
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
In The Land Of Graphs...
1.
In the land
of graphs Fernand Galiana @kitesurfer
2.
3.
4.
5.
Agenda • Graph morphology •
Persistence mechanisms • Terminology • Modeling • Graph databases and API’s • Integrating with Ruby/Rails • How to win $1,000,000
6.
Graph Databases
7.
Morphology Dots and lines
8.
Undirected graph (~200BC)
9.
Directed graph (~14th-16th century)
10.
MultiRelational Graph (19th century) followsfollows likes likes
11.
Property Graph (present) followsfollows likes likes name: Fred age:
29 name: Jim age: 19
12.
Property Graph (cont) followsfollows likes likes name:
Fred age: 29 name: James age: 19 weight: 0.9 date: 11/12/13
13.
@jimweirich
14.
Persistence
15.
Any database can
model a graph
16.
Index Base Traversal DC E A B B,C
E E,D CB D E A
17.
DC E A B B,C E E,D CB D
E A Index Base Traversal
18.
DC E A B B,C E E,D CB D
E A Index Base Traversal
19.
DC E A B B,C E E,D CB D
E A Index Base Traversal
20.
A graph database
is any storage system that can provide index-free adjacency.
21.
GraphDB DC E A B
22.
GraphDB DC E A B
23.
Performance Depth SQL Neo4j
Recs 2 0.01 0.01 2.5k 3 30.26 0.16 100k 4 1,543 1.35 600k 5 Toast! 2.1 800k
24.
@jimweirich
25.
Why use a
graph DB? • Recommendations - densifying the graph • Social • Ranking • Merging domains • Data analysis
26.
Terminology
27.
Terminology 1 2 follows 3 likes loves
28.
Terminology 1 2 follows 3 likes loves OUT Vertex
IN Vertex
29.
Terminology 1 2 follows 3 likes loves vertex 1
OUT edges
30.
Terminology 1 2 follows 3 likes loves vertex 2
IN edges
31.
Terminology 1 2 follows 3 likes loves vertex 3
BOTH edges
32.
@jimweirich
33.
Modeling A B
34.
Modeling • Vertex • Edge •
Properties • Relationships
35.
Modeling • Assess the
space • Nodes = Entities • Edges = connections + semantic context • NProperties = entity attrs + meta • EProperties = strength + weight
36.
@jimweirich
37.
The Scene …
38.
DSLs • Cypher (Neo4j) •
Gremlin (BluePrint) • SPARQL
39.
Rexster • Rexster (REST) •
RexPro (bin) • Rexster Kibbles
40.
Blueprints
41.
Gremlin
42.
Gremlin[CruD] • g.addVertex(id,[a:10,b:’Hello’]) • g.addEdge(id,v1,v2,’friend’,[a:10]) •
g.removeVertex(g.v(id)) • g.removeEdge(g.e(id)) • g.v(id).remove() • …
43.
2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend gremlin> g
= rexster.getGraph('derailed_graph')
44.
2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend gremlin> g.V ==>
v[1], v[2], v[3], v[4], v[5], v[6], v[7]
45.
gremlin> g.E ==> e[1][1-friend-2],
e[2][1-friend-3], etc… 2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend
46.
2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend gremlin> g.v(1) ==>
v[1]
47.
2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend gremlin> g.V(‘name’,
‘Gustave’) ==> v[1]
48.
2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend gremlin> g.e(1) ==>
e[1][1-friend-2]
49.
gremlin> g.v(1).outE ==> e[1][1-friend-2],
e[2][1-friend-3],e[3][1-friend-4] 2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend
50.
gremlin> g.v(7).inE ==> e[7][3-friend-7] 2 4 5 6 7 1
3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend
51.
gremlin> g.v(4).bothE ==> e[3][1-friend-4],
e[8][4-friend-6] 2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend
52.
2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend gremlin> g.v(4).both ==>
v[1], v[6]
53.
2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend gremlin> g.v(1) ==>
v[1]
54.
2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend gremlin> g.v(1).out(‘friend’) ==>
v[2], v[3], v[4]
55.
2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend gremlin> g.v(1).out(‘friend’).out(‘friend’) ==>
v[5], v[6], v[6], v[6], v[7]
56.
2 4 5 6 7 1 3 Oscar Rango BatisteGustave Gertrude Stew Olaf friend friend friend friend friend friend friend friend gremlin> g.v(1).out(‘friend’).out(‘friend’).groupCount.cap ==>
{v[5]=1,v[6]=3,v[7]=1}
57.
DEMO! • Rexster DogHouse •
Wewoo (coz self promotion is underated!)
58.
@jimweirich
59.
Conclusion • Mining relationships •
Recommendation, data analysis • Scoring, Ranking • Understand problem space • Search engine integration • Combining several problem spaces
60.
References • https://github.com/tinkerpop/gremlin • http://gremlindocs.com •
http://sql2gremlin.com • github.com/derailed/wewoo • @jimweirich
61.
Is a Graph
worth a thousand joins? ! ! ! Thank you! @kitesurfer fernand.galiana@gmail.com
Download now