SlideShare a Scribd company logo
Graphs, Databases and what we can use them for
Michael Hackstein
@mchacki

November 6, 2013

c 2013 triAGENS GmbH | 2013-11-6
About me

Still Student (Master Informatik) at RWTH
Just handed in my thesis
Software developer at triAGENS GmbH, CGN
Part of the ArangoDB team

c 2013 triAGENS GmbH | 2013-11-6
Table of contents

1 Definition
2 Use Cases
3 Databases
4 Traversals
5 Visualisation

c 2013 triAGENS GmbH | 2013-11-6
What is a graph?
A set of arbitrary objects, called vertices

c 2013 triAGENS GmbH | 2013-11-6
What is a graph?
A set of arbitrary objects, called vertices
And a set of relations between them, called edges

c 2013 triAGENS GmbH | 2013-11-6
Formal Definition

Let V be the set of vertices
Let E ⊆ V × V be the set of edges
Define G = (V , E ) is a graph

c 2013 triAGENS GmbH | 2013-11-6
Formal Definition

Let V be the set of vertices
Let E ⊆ V × V be the set of edges
Define G = (V , E ) is a graph
Define δ + (n) =

v ∈V |(n,v )∈E

1 is the indegree of n ∈ V

Define δ − (n) =

1 is the outdegree of n ∈ V

Define δ(n) =

as the degree of n ∈ V

v ∈V |(v ,n)∈E
δ + (n) + δ − (n)

c 2013 triAGENS GmbH | 2013-11-6
Directed Graphs
Edges have a direction
One vertex is the source
The other vertex is the target
Formal: (a, b) ∈ E
(b, a) ∈ E
And (a, b) ∈ E ∧ (b, a) ∈ E ⇒ (a, b) = (b, a)

c
d

b
a

c 2013 triAGENS GmbH | 2013-11-6
Example: Navigation Systems

c 2013 triAGENS GmbH | 2013-11-6
Undirected Graphs
Edges do not have a direction
No vertex is source or target
Formal: (a, b) ∈ E ⇔ (b, a) ∈ E
And (a, b) ∈ E ∧ (b, a) ∈ E ⇒ (a, b) = (b, a)

c
d

b
a
c 2013 triAGENS GmbH | 2013-11-6
Example: Social Networks

Charly
Diana

Bob
Alice

c 2013 triAGENS GmbH | 2013-11-6
Property Graphs
Vertices have properties in addition to a label
Edges have properties in addition to a label

c 2013 triAGENS GmbH | 2013-11-6
Graphs in Relational Databases

m
Edge

Vertex
n

c 2013 triAGENS GmbH | 2013-11-6
Where else to store Graphs?

c 2013 triAGENS GmbH | 2013-11-6
How to store Graphs?

We will have an example using ArangoDB.
First Example: Create new database using Graphs API
DEMO TIME

c 2013 triAGENS GmbH | 2013-11-6
How to store Graphs?

Second Example: You already have vertices.
How to add edges?
DEMO TIME

c 2013 triAGENS GmbH | 2013-11-6
But what can we do with the data now?

c 2013 triAGENS GmbH | 2013-11-6
Queries on graphs

Mechanism to query a graph
Starts at one specific vertex
Searches all connected vertices
Searches children of these vertices
Until predefined boundary is reached
Order of vertices can be configured

c 2013 triAGENS GmbH | 2013-11-6
The visitor

Active at each searched vertex
Can execute queries on this vertex like collecting attributes
Does know the path followed to reach the current vertex
Does not know vertices that will be visited in future

c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 0 Nuts: 0
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 0 Nuts: 0
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 0 Nuts: 0
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 2 Nuts: 3
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 2 Nuts: 3
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 2 Nuts: 3
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 4 Nuts: 3
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 4 Nuts: 3
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 4 Nuts: 3
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 9 Nuts: 8
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 9 Nuts: 8
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 9 Nuts: 8
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 10 Nuts: 9
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 12 Nuts: 10
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 12 Nuts: 12
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 13 Nuts: 13
c 2013 triAGENS GmbH | 2013-11-6
Traversals
Grain: 0
Nuts: 0

Grain: 2
Nuts: 3

Grain: 0
Nuts: 2
Grain: 1
Nuts: 1

Grain: 2
Nuts: 0
Grain: 5
Nuts: 5

Grain: 1
Nuts: 1
Grain: 2
Nuts: 1

Grain: 8
Nuts: 9

Grain: 13 Nuts: 13 Done
c 2013 triAGENS GmbH | 2013-11-6
Traversals Live

Example: Execute traversal in ArangoDB
DEMO TIME

c 2013 triAGENS GmbH | 2013-11-6
Visualisation

Example: How to view the graph
DEMO TIME

c 2013 triAGENS GmbH | 2013-11-6
Ad

More Related Content

Recently uploaded (20)

Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 

Featured (20)

2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing
Search Engine Journal
 
Storytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design ProcessStorytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design Process
Chiara Aliotta
 
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
OECD Directorate for Financial and Enterprise Affairs
 
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
 
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing
Search Engine Journal
 
Storytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design ProcessStorytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design Process
Chiara Aliotta
 
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
 
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
Ad

GraphDatabases and what we can use them for

  • 1. Graphs, Databases and what we can use them for Michael Hackstein @mchacki November 6, 2013 c 2013 triAGENS GmbH | 2013-11-6
  • 2. About me Still Student (Master Informatik) at RWTH Just handed in my thesis Software developer at triAGENS GmbH, CGN Part of the ArangoDB team c 2013 triAGENS GmbH | 2013-11-6
  • 3. Table of contents 1 Definition 2 Use Cases 3 Databases 4 Traversals 5 Visualisation c 2013 triAGENS GmbH | 2013-11-6
  • 4. What is a graph? A set of arbitrary objects, called vertices c 2013 triAGENS GmbH | 2013-11-6
  • 5. What is a graph? A set of arbitrary objects, called vertices And a set of relations between them, called edges c 2013 triAGENS GmbH | 2013-11-6
  • 6. Formal Definition Let V be the set of vertices Let E ⊆ V × V be the set of edges Define G = (V , E ) is a graph c 2013 triAGENS GmbH | 2013-11-6
  • 7. Formal Definition Let V be the set of vertices Let E ⊆ V × V be the set of edges Define G = (V , E ) is a graph Define δ + (n) = v ∈V |(n,v )∈E 1 is the indegree of n ∈ V Define δ − (n) = 1 is the outdegree of n ∈ V Define δ(n) = as the degree of n ∈ V v ∈V |(v ,n)∈E δ + (n) + δ − (n) c 2013 triAGENS GmbH | 2013-11-6
  • 8. Directed Graphs Edges have a direction One vertex is the source The other vertex is the target Formal: (a, b) ∈ E (b, a) ∈ E And (a, b) ∈ E ∧ (b, a) ∈ E ⇒ (a, b) = (b, a) c d b a c 2013 triAGENS GmbH | 2013-11-6
  • 9. Example: Navigation Systems c 2013 triAGENS GmbH | 2013-11-6
  • 10. Undirected Graphs Edges do not have a direction No vertex is source or target Formal: (a, b) ∈ E ⇔ (b, a) ∈ E And (a, b) ∈ E ∧ (b, a) ∈ E ⇒ (a, b) = (b, a) c d b a c 2013 triAGENS GmbH | 2013-11-6
  • 11. Example: Social Networks Charly Diana Bob Alice c 2013 triAGENS GmbH | 2013-11-6
  • 12. Property Graphs Vertices have properties in addition to a label Edges have properties in addition to a label c 2013 triAGENS GmbH | 2013-11-6
  • 13. Graphs in Relational Databases m Edge Vertex n c 2013 triAGENS GmbH | 2013-11-6
  • 14. Where else to store Graphs? c 2013 triAGENS GmbH | 2013-11-6
  • 15. How to store Graphs? We will have an example using ArangoDB. First Example: Create new database using Graphs API DEMO TIME c 2013 triAGENS GmbH | 2013-11-6
  • 16. How to store Graphs? Second Example: You already have vertices. How to add edges? DEMO TIME c 2013 triAGENS GmbH | 2013-11-6
  • 17. But what can we do with the data now? c 2013 triAGENS GmbH | 2013-11-6
  • 18. Queries on graphs Mechanism to query a graph Starts at one specific vertex Searches all connected vertices Searches children of these vertices Until predefined boundary is reached Order of vertices can be configured c 2013 triAGENS GmbH | 2013-11-6
  • 19. The visitor Active at each searched vertex Can execute queries on this vertex like collecting attributes Does know the path followed to reach the current vertex Does not know vertices that will be visited in future c 2013 triAGENS GmbH | 2013-11-6
  • 20. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 c 2013 triAGENS GmbH | 2013-11-6
  • 21. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 0 Nuts: 0 c 2013 triAGENS GmbH | 2013-11-6
  • 22. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 0 Nuts: 0 c 2013 triAGENS GmbH | 2013-11-6
  • 23. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 0 Nuts: 0 c 2013 triAGENS GmbH | 2013-11-6
  • 24. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 2 Nuts: 3 c 2013 triAGENS GmbH | 2013-11-6
  • 25. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 2 Nuts: 3 c 2013 triAGENS GmbH | 2013-11-6
  • 26. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 2 Nuts: 3 c 2013 triAGENS GmbH | 2013-11-6
  • 27. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 4 Nuts: 3 c 2013 triAGENS GmbH | 2013-11-6
  • 28. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 4 Nuts: 3 c 2013 triAGENS GmbH | 2013-11-6
  • 29. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 4 Nuts: 3 c 2013 triAGENS GmbH | 2013-11-6
  • 30. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 9 Nuts: 8 c 2013 triAGENS GmbH | 2013-11-6
  • 31. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 9 Nuts: 8 c 2013 triAGENS GmbH | 2013-11-6
  • 32. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 9 Nuts: 8 c 2013 triAGENS GmbH | 2013-11-6
  • 33. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 10 Nuts: 9 c 2013 triAGENS GmbH | 2013-11-6
  • 34. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 12 Nuts: 10 c 2013 triAGENS GmbH | 2013-11-6
  • 35. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 12 Nuts: 12 c 2013 triAGENS GmbH | 2013-11-6
  • 36. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 13 Nuts: 13 c 2013 triAGENS GmbH | 2013-11-6
  • 37. Traversals Grain: 0 Nuts: 0 Grain: 2 Nuts: 3 Grain: 0 Nuts: 2 Grain: 1 Nuts: 1 Grain: 2 Nuts: 0 Grain: 5 Nuts: 5 Grain: 1 Nuts: 1 Grain: 2 Nuts: 1 Grain: 8 Nuts: 9 Grain: 13 Nuts: 13 Done c 2013 triAGENS GmbH | 2013-11-6
  • 38. Traversals Live Example: Execute traversal in ArangoDB DEMO TIME c 2013 triAGENS GmbH | 2013-11-6
  • 39. Visualisation Example: How to view the graph DEMO TIME c 2013 triAGENS GmbH | 2013-11-6