SlideShare una empresa de Scribd logo
1 de 102
Descargar para leer sin conexión
Graph-Tool
The Efficient Network
AnalyzingTool for Python	

Mosky
Graph-Tool
in Practice

Mosky
MOSKY
3
MOSKY
• Python Charmer at Pinkoi
3
MOSKY
• Python Charmer at Pinkoi
• An author of the Python packages:	

• MoSQL, Clime, Uniout, ZIPCodeTW, …
3
MOSKY
• Python Charmer at Pinkoi
• An author of the Python packages:	

• MoSQL, Clime, Uniout, ZIPCodeTW, …
• A speaker of the conferences	

• 2014: PyCon APAC, OSDC; 2013: PyCon APAC, PyConTW, COSCUP, …
3
MOSKY
• Python Charmer at Pinkoi
• An author of the Python packages:	

• MoSQL, Clime, Uniout, ZIPCodeTW, …
• A speaker of the conferences	

• 2014: PyCon APAC, OSDC; 2013: PyCon APAC, PyConTW, COSCUP, …
• A Python instructor
3
MOSKY
• Python Charmer at Pinkoi
• An author of the Python packages:	

• MoSQL, Clime, Uniout, ZIPCodeTW, …
• A speaker of the conferences	

• 2014: PyCon APAC, OSDC; 2013: PyCon APAC, PyConTW, COSCUP, …
• A Python instructor
• mosky.tw
3
OUTLINE
4
OUTLINE
• Introduction
4
OUTLINE
• Introduction
• Create Graph
4
OUTLINE
• Introduction
• Create Graph
• Visualize Graph
4
OUTLINE
• Introduction
• Create Graph
• Visualize Graph
• Analyze Graph
4
OUTLINE
• Introduction
• Create Graph
• Visualize Graph
• Analyze Graph
• Conclusion
4
INTRODUCTION
GRAPH-TOOL
6
GRAPH-TOOL
• It's for analyzing graph.
6
GRAPH-TOOL
• It's for analyzing graph.
• Fast. It bases on 

Boost Graph in C++.
6
GRAPH-TOOL
• It's for analyzing graph.
• Fast. It bases on 

Boost Graph in C++.
• Powerful visualization
6
GRAPH-TOOL
• It's for analyzing graph.
• Fast. It bases on 

Boost Graph in C++.
• Powerful visualization
• Lot of useful algorithms
6
GET GRAPH-TOOL
7
GET GRAPH-TOOL
• Super easy on Debian / Ubuntu	

• http://graph-tool.skewed.de/download#debian
7
GET GRAPH-TOOL
• Super easy on Debian / Ubuntu	

• http://graph-tool.skewed.de/download#debian
• Super hard on Mac	

• http://graph-tool.skewed.de/download#macos	

• Install the dependencies by homebrew and pip. 

Then compile it from source.	

• Note it may take you 3~4 hours. I warned you!
7
CREATE GRAPH
BEFORE STARTING
9
BEFORE STARTING
• Define your problem.
9
BEFORE STARTING
• Define your problem.
• Convert it into a graphic form.
9
BEFORE STARTING
• Define your problem.
• Convert it into a graphic form.
• Parse raw data.
9
MY PROBLEM
10
MY PROBLEM
• To improve the duration of an online marketplace.
10
MY PROBLEM
• To improve the duration of an online marketplace.
• What's product browsing flow that users prefer?
10
IN GRAPHIC FORM
11
What Weight
Vertex Product Count
Edge
Directed	

Browsing
Count
PARSING
12
PARSING
• Regular expression	

• Filter garbages.
12
PARSING
• Regular expression	

• Filter garbages.
• Sorting
12
PARSING
• Regular expression	

• Filter garbages.
• Sorting
• Pickle	

• HIGHEST_PROTOCOL	

• Use tuple to save space/time.	

• Save into serial files.
12
VERTEX AND EDGE
import graph_tool.all as gt	
!
g = gt.Graph()	
v1 = g.add_vertex()	
v2 = g.add_vertex()	
e = g.add_edge(v1, v2)
13
PROPERTY
v_count_p = g.new_vertex_property('int')	
!
# store it in our graph, optionally	
g.vp['count'] = v_count_p
14
FASTER IMPORT
from graph_tool import Graph
15
COUNTING
name_v_map = {}	
for name in names:	
v = name_v_map.get(name)	
if v is None:	
v = g.add_vertex()	
v_count_p[v] = 0	
name_v_map[name] = v	
v_count_p[v] += 1
16
VISUALIZE GRAPH
THE SIMPLEST
gt.graph_draw(	
g,	
output_path = 'output.pdf',	
)	
!
gt.graph_draw(	
g,	
output_path = 'output.png',	
)
18
19
USE CONSTANTS
SIZE = 400	
V_SIZE = SIZE / 20.	
E_PWIDTH = V_SIZE / 4.	
gt.graph_draw(	
…	
output_size = (SIZE, SIZE),	
vertex_size = V_SIZE,	
edge_pen_width = E_PWDITH,	
)
20
21
USE PROP_TO_SIZE
v_size_p = gt.prop_to_size(	
v_count_p,	
MI_V_SIZE,	
MA_V_SIZE,	
)	
…	
gt.graph_draw(	
…	
vertex_size = v_size_p,	
edge_pen_width = e_pwidth_p,	
)
22
23
USE FILL_COLOR
gt.graph_draw(	
…	
vertex_fill_color = v_size_p,	
)
24
25
ANALYZE GRAPH
CHOOSE AN ALGORITHM
27
CHOOSE AN ALGORITHM
• Search algorithms	

• BFS search …
27
CHOOSE AN ALGORITHM
• Search algorithms	

• BFS search …
• Assessing graph topology	

• shortest path …
27
CHOOSE AN ALGORITHM
• Search algorithms	

• BFS search …
• Assessing graph topology	

• shortest path …
• Centrality measures	

• pagerank, betweenness, closeness …
27
28
• Maximum flow algorithms
28
• Maximum flow algorithms
• Community structures
28
• Maximum flow algorithms
• Community structures
• Clustering coefficients
28
CENTRALITY MEASURES
29
CENTRALITY MEASURES
• Degree centrality	

• the number of links incident upon a node	

• the immediate risk of taking a node out
29
CENTRALITY MEASURES
• Degree centrality	

• the number of links incident upon a node	

• the immediate risk of taking a node out
• Closeness centrality	

• sum of a node's distances to all other nodes	

• the cost to spread information to all other nodes
29
30
• Betweenness centrality	

• the number of times a node acts as a bridge	

• the control of a node on the communication
between other nodes
30
• Betweenness centrality	

• the number of times a node acts as a bridge	

• the control of a node on the communication
between other nodes
• Eigenvector centrality	

• the influence of a node in a network	

• Google's PageRank is a variant of the Eigenvector
centrality measure
30
MY CHOICE
31
MY CHOICE
• Centrality measures - Closeness centrality
31
MY CHOICE
• Centrality measures - Closeness centrality
• Get the products are easier to all other products.
31
CALCULATE CLOSENESS
!
!
e_icount_p = g.new_edge_property('int')	
e_icount_p.a = e_count_p.a.max()-e_count_p.a	
!
v_cl_p = closeness(g, weight=e_icount_p)	
!
import numpy as np	
v_cl_p.a = np.nan_to_num(v_cl_p.a)	
32
DRAW CLOSENESS
v_cl_size_p = gt.prop_to_size(	
v_cl_p,	
MI_V_SIZE,	
MA_V_SIZE,	
)	
…	
gt.graph_draw(	
…	
vertex_fill_color = v_cl_size_p,	
)
33
34
ONTHE FLY FILTERING
!
v_pck_p = g.new_vertex_property('bool')	
v_pck_p.a = v_count_p.a > v_count_p.a.mean()	
!
g.set_vertex_filter(v_pck_p)	
# g.set_vertex_filter(None) # unset
35
36
TOP N
t10_idxs = v_count_p.a.argsort()[-10:][::-1]	
!
t1_idx = t10_idxs[0]	
t1_v = g.vertex(t1_idx)	
t1_name = v_name_p[t1_v]	
t1_count = v_count_p[t1_v]
37
SFDF LAYOUT
gt.graph_draw(	
…	
pos = gt.sfdp_layout(g),	
)
38
39
gt.graph_draw(	
…	
pos = gt.sfdp_layout(	
g, eweight=e_count_p	
),	
)	
!
gt.graph_draw(	
…	
pos = gt.sfdp_layout(	
g,	
eweight=e_count_p, vweight=v_count_p	
),	
)
40
41
42
43
FR LAYOUT
gt.graph_draw(	
…	
pos = gt.fruchterman_reingold_layout(g),	
)	
!
gt.graph_draw(	
…	
pos = gt.fruchterman_reingold_layout(	
g, weight=e_count_p	
),	
)
44
45
46
47
ARF LAYOUT
gt.graph_draw(	
…	
pos = gt.arf_layout(g),	
)	
!
gt.graph_draw(	
…	
pos = gt.arf_layout(	
g, weight=e_count_p	
),	
)
48
49
50
51
MY GRAPH
53
CONCLUSION
55
CONCLUSION
• Define problem in graphic form.
55
CONCLUSION
• Define problem in graphic form.
• Parse raw data.	

• Watch out! 

Your data will bite you. →
55
CONCLUSION
• Define problem in graphic form.
• Parse raw data.	

• Watch out! 

Your data will bite you. →
• Visualize to understand.
55
CONCLUSION
• Define problem in graphic form.
• Parse raw data.	

• Watch out! 

Your data will bite you. →
• Visualize to understand.
• Choose a proper algorithms.
55
CONCLUSION
• Define problem in graphic form.
• Parse raw data.	

• Watch out! 

Your data will bite you. →
• Visualize to understand.
• Choose a proper algorithms.
• Filter data which interest you.
55
CONCLUSION
• Define problem in graphic form.
• Parse raw data.	

• Watch out! 

Your data will bite you. →
• Visualize to understand.
• Choose a proper algorithms.
• Filter data which interest you.
• Visualize again to convince.
55
CONCLUSION
• Define problem in graphic form.
• Parse raw data.	

• Watch out! 

Your data will bite you. →
• Visualize to understand.
• Choose a proper algorithms.
• Filter data which interest you.
• Visualize again to convince.
• mosky.tw
55
CONCLUSION
DEMO
COSCUP 2014
2014.07.19 - 2014.07.20 | Academia Sinica,Taipei,Taiwan
LINKS
• Quick start using graph-tool

http://graph-tool.skewed.de/static/doc/quickstart.html	

• Learn more about Graph object

http://graph-tool.skewed.de/static/doc/graph_tool.html	

• The possible property value types

http://graph-tool.skewed.de/static/doc/
graph_tool.html#graph_tool.PropertyMap
58
• Graph drawing and layout

http://graph-tool.skewed.de/static/doc/draw.html 	

• Available subpackages - Graph-Tool

http://graph-tool.skewed.de/static/doc/
graph_tool.html#available-subpackages 	

• Centrality - Wiki

http://en.wikipedia.org/wiki/Centrality 	

• NumPy Reference

http://docs.scipy.org/doc/numpy/reference/
59

Más contenido relacionado

La actualidad más candente

Roadshow Plannen NMBS & Infrabel 2023-2026
Roadshow Plannen NMBS & Infrabel 2023-2026Roadshow Plannen NMBS & Infrabel 2023-2026
Roadshow Plannen NMBS & Infrabel 2023-2026NMBS
 
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack FirmwareSimen Li
 
Řízení vzdálených pracovníků - kdy a proč práce na dálku (ne)funguje
Řízení vzdálených pracovníků  - kdy a proč práce na dálku (ne)fungujeŘízení vzdálených pracovníků  - kdy a proč práce na dálku (ne)funguje
Řízení vzdálených pracovníků - kdy a proč práce na dálku (ne)fungujeMichal Martoch
 
Roadshow Plans SNCB & Infrabel 2023-2026 – Luxembourg
Roadshow Plans SNCB & Infrabel 2023-2026 – LuxembourgRoadshow Plans SNCB & Infrabel 2023-2026 – Luxembourg
Roadshow Plans SNCB & Infrabel 2023-2026 – LuxembourgSNCB
 
Roadshow Plannen NMBS & Infrabel 2023-2026 – West-Vlaanderen
Roadshow Plannen NMBS & Infrabel 2023-2026 – West-VlaanderenRoadshow Plannen NMBS & Infrabel 2023-2026 – West-Vlaanderen
Roadshow Plannen NMBS & Infrabel 2023-2026 – West-VlaanderenNMBS
 
De treinfaciliteiten bij NMBS
De treinfaciliteiten bij NMBSDe treinfaciliteiten bij NMBS
De treinfaciliteiten bij NMBSNMBS
 
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築Tomocha Potter
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデルAtsushi Kojo
 
Cartilha perguntas e respostas trabalho doméstico
Cartilha perguntas e respostas trabalho domésticoCartilha perguntas e respostas trabalho doméstico
Cartilha perguntas e respostas trabalho domésticoDenizecomZ
 
Roadshow Plannen NMBS & Infrabel 2023-2026 – Oost-Vlaanderen
Roadshow Plannen NMBS & Infrabel 2023-2026 – Oost-VlaanderenRoadshow Plannen NMBS & Infrabel 2023-2026 – Oost-Vlaanderen
Roadshow Plannen NMBS & Infrabel 2023-2026 – Oost-VlaanderenNMBS
 
検証環境をGoBGPで極力仮想化してみた
検証環境をGoBGPで極力仮想化してみた検証環境をGoBGPで極力仮想化してみた
検証環境をGoBGPで極力仮想化してみたToshiya Mabuchi
 
«Біле золото» Оксани Жникруп
«Біле золото» Оксани  Жникруп«Біле золото» Оксани  Жникруп
«Біле золото» Оксани ЖникрупОлена Проців
 

La actualidad más candente (15)

Roadshow Plannen NMBS & Infrabel 2023-2026
Roadshow Plannen NMBS & Infrabel 2023-2026Roadshow Plannen NMBS & Infrabel 2023-2026
Roadshow Plannen NMBS & Infrabel 2023-2026
 
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
[ZigBee 嵌入式系統] ZigBee Architecture 與 TI Z-Stack Firmware
 
Řízení vzdálených pracovníků - kdy a proč práce na dálku (ne)funguje
Řízení vzdálených pracovníků  - kdy a proč práce na dálku (ne)fungujeŘízení vzdálených pracovníků  - kdy a proč práce na dálku (ne)funguje
Řízení vzdálených pracovníků - kdy a proč práce na dálku (ne)funguje
 
Dpdk pmd
Dpdk pmdDpdk pmd
Dpdk pmd
 
Roadshow Plans SNCB & Infrabel 2023-2026 – Luxembourg
Roadshow Plans SNCB & Infrabel 2023-2026 – LuxembourgRoadshow Plans SNCB & Infrabel 2023-2026 – Luxembourg
Roadshow Plans SNCB & Infrabel 2023-2026 – Luxembourg
 
Roadshow Plannen NMBS & Infrabel 2023-2026 – West-Vlaanderen
Roadshow Plannen NMBS & Infrabel 2023-2026 – West-VlaanderenRoadshow Plannen NMBS & Infrabel 2023-2026 – West-Vlaanderen
Roadshow Plannen NMBS & Infrabel 2023-2026 – West-Vlaanderen
 
De treinfaciliteiten bij NMBS
De treinfaciliteiten bij NMBSDe treinfaciliteiten bij NMBS
De treinfaciliteiten bij NMBS
 
VTI の中身
VTI の中身VTI の中身
VTI の中身
 
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
 
Node-REDのプログラミングモデル
Node-REDのプログラミングモデルNode-REDのプログラミングモデル
Node-REDのプログラミングモデル
 
Lastensuojelulain muutokset
Lastensuojelulain muutoksetLastensuojelulain muutokset
Lastensuojelulain muutokset
 
Cartilha perguntas e respostas trabalho doméstico
Cartilha perguntas e respostas trabalho domésticoCartilha perguntas e respostas trabalho doméstico
Cartilha perguntas e respostas trabalho doméstico
 
Roadshow Plannen NMBS & Infrabel 2023-2026 – Oost-Vlaanderen
Roadshow Plannen NMBS & Infrabel 2023-2026 – Oost-VlaanderenRoadshow Plannen NMBS & Infrabel 2023-2026 – Oost-Vlaanderen
Roadshow Plannen NMBS & Infrabel 2023-2026 – Oost-Vlaanderen
 
検証環境をGoBGPで極力仮想化してみた
検証環境をGoBGPで極力仮想化してみた検証環境をGoBGPで極力仮想化してみた
検証環境をGoBGPで極力仮想化してみた
 
«Біле золото» Оксани Жникруп
«Біле золото» Оксани  Жникруп«Біле золото» Оксани  Жникруп
«Біле золото» Оксани Жникруп
 

Destacado

Boost Maintainability
Boost MaintainabilityBoost Maintainability
Boost MaintainabilityMosky Liu
 
Concurrency in Python
Concurrency in PythonConcurrency in Python
Concurrency in PythonMosky Liu
 
ZIPCodeTW: Find Taiwan ZIP Code by Address Fuzzily
ZIPCodeTW: Find Taiwan ZIP Code by Address FuzzilyZIPCodeTW: Find Taiwan ZIP Code by Address Fuzzily
ZIPCodeTW: Find Taiwan ZIP Code by Address FuzzilyMosky Liu
 
Beyond the Style Guides
Beyond the Style GuidesBeyond the Style Guides
Beyond the Style GuidesMosky Liu
 
Simple Belief - Mosky @ TEDxNTUST 2015
Simple Belief - Mosky @ TEDxNTUST 2015Simple Belief - Mosky @ TEDxNTUST 2015
Simple Belief - Mosky @ TEDxNTUST 2015Mosky Liu
 
Global Marketing
Global MarketingGlobal Marketing
Global MarketingBo Liang
 
Twitterology - The Science of Twitter
Twitterology - The Science of TwitterTwitterology - The Science of Twitter
Twitterology - The Science of TwitterBruno Gonçalves
 
Minimal MVC in JavaScript
Minimal MVC in JavaScriptMinimal MVC in JavaScript
Minimal MVC in JavaScriptMosky Liu
 
Introduction to Clime
Introduction to ClimeIntroduction to Clime
Introduction to ClimeMosky Liu
 
Learning Git with Workflows
Learning Git with WorkflowsLearning Git with Workflows
Learning Git with WorkflowsMosky Liu
 
Programming with Python - Adv.
Programming with Python - Adv.Programming with Python - Adv.
Programming with Python - Adv.Mosky Liu
 
Community detection (Поиск сообществ в графах)
Community detection (Поиск сообществ в графах)Community detection (Поиск сообществ в графах)
Community detection (Поиск сообществ в графах)Kirill Rybachuk
 
Visualizing Networks: Beyond the Hairball
Visualizing Networks: Beyond the HairballVisualizing Networks: Beyond the Hairball
Visualizing Networks: Beyond the HairballOReillyStrata
 
Learning Python from Data
Learning Python from DataLearning Python from Data
Learning Python from DataMosky Liu
 
Programming with Python - Basic
Programming with Python - BasicProgramming with Python - Basic
Programming with Python - BasicMosky Liu
 
Les cèl·lules sexuals i la fecundació
Les cèl·lules sexuals i la fecundacióLes cèl·lules sexuals i la fecundació
Les cèl·lules sexuals i la fecundacióMarian Ferragut Roser
 
A Fast and Dirty Intro to NetworkX (and D3)
A Fast and Dirty Intro to NetworkX (and D3)A Fast and Dirty Intro to NetworkX (and D3)
A Fast and Dirty Intro to NetworkX (and D3)Lynn Cherny
 
Visão Espírita do Carnaval
Visão Espírita do CarnavalVisão Espírita do Carnaval
Visão Espírita do CarnavalPAN1911
 

Destacado (20)

Boost Maintainability
Boost MaintainabilityBoost Maintainability
Boost Maintainability
 
Concurrency in Python
Concurrency in PythonConcurrency in Python
Concurrency in Python
 
ZIPCodeTW: Find Taiwan ZIP Code by Address Fuzzily
ZIPCodeTW: Find Taiwan ZIP Code by Address FuzzilyZIPCodeTW: Find Taiwan ZIP Code by Address Fuzzily
ZIPCodeTW: Find Taiwan ZIP Code by Address Fuzzily
 
Beyond the Style Guides
Beyond the Style GuidesBeyond the Style Guides
Beyond the Style Guides
 
Simple Belief - Mosky @ TEDxNTUST 2015
Simple Belief - Mosky @ TEDxNTUST 2015Simple Belief - Mosky @ TEDxNTUST 2015
Simple Belief - Mosky @ TEDxNTUST 2015
 
Global Marketing
Global MarketingGlobal Marketing
Global Marketing
 
Identity as a workshop
Identity as a workshopIdentity as a workshop
Identity as a workshop
 
Twitterology - The Science of Twitter
Twitterology - The Science of TwitterTwitterology - The Science of Twitter
Twitterology - The Science of Twitter
 
Minimal MVC in JavaScript
Minimal MVC in JavaScriptMinimal MVC in JavaScript
Minimal MVC in JavaScript
 
Introduction to Clime
Introduction to ClimeIntroduction to Clime
Introduction to Clime
 
Learning Git with Workflows
Learning Git with WorkflowsLearning Git with Workflows
Learning Git with Workflows
 
Programming with Python - Adv.
Programming with Python - Adv.Programming with Python - Adv.
Programming with Python - Adv.
 
Community detection (Поиск сообществ в графах)
Community detection (Поиск сообществ в графах)Community detection (Поиск сообществ в графах)
Community detection (Поиск сообществ в графах)
 
Visualizing Networks: Beyond the Hairball
Visualizing Networks: Beyond the HairballVisualizing Networks: Beyond the Hairball
Visualizing Networks: Beyond the Hairball
 
Learning Python from Data
Learning Python from DataLearning Python from Data
Learning Python from Data
 
Programming with Python - Basic
Programming with Python - BasicProgramming with Python - Basic
Programming with Python - Basic
 
Les cèl·lules sexuals i la fecundació
Les cèl·lules sexuals i la fecundacióLes cèl·lules sexuals i la fecundació
Les cèl·lules sexuals i la fecundació
 
A Fast and Dirty Intro to NetworkX (and D3)
A Fast and Dirty Intro to NetworkX (and D3)A Fast and Dirty Intro to NetworkX (and D3)
A Fast and Dirty Intro to NetworkX (and D3)
 
centrifuge
centrifugecentrifuge
centrifuge
 
Visão Espírita do Carnaval
Visão Espírita do CarnavalVisão Espírita do Carnaval
Visão Espírita do Carnaval
 

Similar a Graph-Tool in Practice

(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collectionsBIOVIA
 
Qcon beijing 2010
Qcon beijing 2010Qcon beijing 2010
Qcon beijing 2010Vonbo
 
Python VS GO
Python VS GOPython VS GO
Python VS GOOfir Nir
 
Moving Toward Deep Learning Algorithms on HPCC Systems
Moving Toward Deep Learning Algorithms on HPCC SystemsMoving Toward Deep Learning Algorithms on HPCC Systems
Moving Toward Deep Learning Algorithms on HPCC SystemsHPCC Systems
 
Lens: Data exploration with Dask and Jupyter widgets
Lens: Data exploration with Dask and Jupyter widgetsLens: Data exploration with Dask and Jupyter widgets
Lens: Data exploration with Dask and Jupyter widgetsVíctor Zabalza
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nlbartzon
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nltieleman
 
PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)
PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)
PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)PyData
 
Code instrumentation
Code instrumentationCode instrumentation
Code instrumentationBryan Reinero
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large GraphsNishant Gandhi
 
Single-Pass Graph Stream Analytics with Apache Flink
Single-Pass Graph Stream Analytics with Apache FlinkSingle-Pass Graph Stream Analytics with Apache Flink
Single-Pass Graph Stream Analytics with Apache FlinkParis Carbone
 
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaServing Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaRedis Labs
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixC4Media
 
Beyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To CodeBeyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To CodeYuto Hayamizu
 
Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...
Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...
Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...Databricks
 
Track A-2 基於 Spark 的數據分析
Track A-2 基於 Spark 的數據分析Track A-2 基於 Spark 的數據分析
Track A-2 基於 Spark 的數據分析Etu Solution
 
"R, Hadoop, and Amazon Web Services (20 December 2011)"
"R, Hadoop, and Amazon Web Services (20 December 2011)""R, Hadoop, and Amazon Web Services (20 December 2011)"
"R, Hadoop, and Amazon Web Services (20 December 2011)"Portland R User Group
 

Similar a Graph-Tool in Practice (20)

(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections(ATS6-PLAT03) What's behind Discngine collections
(ATS6-PLAT03) What's behind Discngine collections
 
Qcon beijing 2010
Qcon beijing 2010Qcon beijing 2010
Qcon beijing 2010
 
Python VS GO
Python VS GOPython VS GO
Python VS GO
 
Moving Toward Deep Learning Algorithms on HPCC Systems
Moving Toward Deep Learning Algorithms on HPCC SystemsMoving Toward Deep Learning Algorithms on HPCC Systems
Moving Toward Deep Learning Algorithms on HPCC Systems
 
Lens: Data exploration with Dask and Jupyter widgets
Lens: Data exploration with Dask and Jupyter widgetsLens: Data exploration with Dask and Jupyter widgets
Lens: Data exploration with Dask and Jupyter widgets
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)
PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)
PyCascading for Intuitive Flow Processing with Hadoop (gabor szabo)
 
Big Data Visualization With ParaView
Big Data Visualization With ParaViewBig Data Visualization With ParaView
Big Data Visualization With ParaView
 
Code instrumentation
Code instrumentationCode instrumentation
Code instrumentation
 
Processing Large Graphs
Processing Large GraphsProcessing Large Graphs
Processing Large Graphs
 
Single-Pass Graph Stream Analytics with Apache Flink
Single-Pass Graph Stream Analytics with Apache FlinkSingle-Pass Graph Stream Analytics with Apache Flink
Single-Pass Graph Stream Analytics with Apache Flink
 
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca AntigaServing Deep Learning Models At Scale With RedisAI: Luca Antiga
Serving Deep Learning Models At Scale With RedisAI: Luca Antiga
 
Visual Network Analysis
Visual Network AnalysisVisual Network Analysis
Visual Network Analysis
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
 
Beyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To CodeBeyond EXPLAIN: Query Optimization From Theory To Code
Beyond EXPLAIN: Query Optimization From Theory To Code
 
Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...
Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...
Streaming Trend Discovery: Real-Time Discovery in a Sea of Events with Scott ...
 
Track A-2 基於 Spark 的數據分析
Track A-2 基於 Spark 的數據分析Track A-2 基於 Spark 的數據分析
Track A-2 基於 Spark 的數據分析
 
"R, Hadoop, and Amazon Web Services (20 December 2011)"
"R, Hadoop, and Amazon Web Services (20 December 2011)""R, Hadoop, and Amazon Web Services (20 December 2011)"
"R, Hadoop, and Amazon Web Services (20 December 2011)"
 
R, Hadoop and Amazon Web Services
R, Hadoop and Amazon Web ServicesR, Hadoop and Amazon Web Services
R, Hadoop and Amazon Web Services
 

Más de Mosky Liu

Statistical Regression With Python
Statistical Regression With PythonStatistical Regression With Python
Statistical Regression With PythonMosky Liu
 
Practicing Python 3
Practicing Python 3Practicing Python 3
Practicing Python 3Mosky Liu
 
Data Science With Python
Data Science With PythonData Science With Python
Data Science With PythonMosky Liu
 
Hypothesis Testing With Python
Hypothesis Testing With PythonHypothesis Testing With Python
Hypothesis Testing With PythonMosky Liu
 
Elegant concurrency
Elegant concurrencyElegant concurrency
Elegant concurrencyMosky Liu
 
Dive into Pinkoi 2013
Dive into Pinkoi 2013Dive into Pinkoi 2013
Dive into Pinkoi 2013Mosky Liu
 
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013Mosky Liu
 
MoSQL: More than SQL, but less than ORM
MoSQL: More than SQL, but less than ORMMoSQL: More than SQL, but less than ORM
MoSQL: More than SQL, but less than ORMMosky Liu
 

Más de Mosky Liu (8)

Statistical Regression With Python
Statistical Regression With PythonStatistical Regression With Python
Statistical Regression With Python
 
Practicing Python 3
Practicing Python 3Practicing Python 3
Practicing Python 3
 
Data Science With Python
Data Science With PythonData Science With Python
Data Science With Python
 
Hypothesis Testing With Python
Hypothesis Testing With PythonHypothesis Testing With Python
Hypothesis Testing With Python
 
Elegant concurrency
Elegant concurrencyElegant concurrency
Elegant concurrency
 
Dive into Pinkoi 2013
Dive into Pinkoi 2013Dive into Pinkoi 2013
Dive into Pinkoi 2013
 
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013
MoSQL: More than SQL, but Less than ORM @ PyCon APAC 2013
 
MoSQL: More than SQL, but less than ORM
MoSQL: More than SQL, but less than ORMMoSQL: More than SQL, but less than ORM
MoSQL: More than SQL, but less than ORM
 

Último

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 

Último (20)

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 

Graph-Tool in Practice