SlideShare a Scribd company logo
1 of 45
www.Objectivity.com

An Introduction To
Graph Databases
Leon Guzenda & Nick Quinn
August 20, 2013
Overview
• Introductions
• Graph Theory
• Commonly Used Graph Algorithms
• Graph Databases
• Current Implementations
• Use Cases
• Hands-On Tutorial
We Are From Objectivity Inc.
Company

• Objectivity, Inc. is headquartered in Sunnyvale, CA.
• Established in 1988 to tackle database problems that network/hierarchical/relational and file-based technologies
struggle with.
• Objectivity has over two decades of Big Data and NoSQL experience

Products

• Develops NoSQL platforms for managing and discovering relationships and patterns in complex data:
• Objectivity/DB - an object database that manages localized, centralized or distributed databases
• InfiniteGraph

- a massively scalable graph database built on Objectivity/DB that enables

organizations to find, store and exploit the relationships in their data

Markets

• The Big Data market is projected to be around $12B in 2012, with a CAGR of 28% over the next five years.
• 40% per year data growth, cloud adoption, mobile usage and improved real-time analytics underpin Objectivity’s
growth opportunities as a Big Data analytics enabler.

Customers

• Embedded in hundreds of enterprises, government organizations and products - millions of deployments.

Financials

• Consistently generates increased revenues.
• Privately held by the employees and a few venture capital companies.

Copyright © Objectivity, Inc. 2012
GRAPH THEORY
The History of Graph Theory
1736: Leonard Euler writes a paper on the “Seven Bridges of Konisberg”
1845: Gustav Kirchoff publishes his electrical circuit laws
1852: Francis Guthrie poses the “Four Color Problem”
1878: Sylvester publishes an article in Nature magazine that describes graphs
1936: Dénes Kőnig publishes a textbook on Graph Theory
1941: Ramsey and Turán define Extremal Graph Theory
1959: De Bruijn publishes a paper summarizing Enumerative Graph Theory
1959: Erdos, Renyi and Gilbert define Random Graph Theory
1969: Heinrich Heesch solves the “Four Color” problem
2003: Commercial Graph Database products start appearing on the market
Graph Theory Terminology...
VERTEX: A single node in a graph data structure
EDGE: A connection between a pair of VERTICES
PROPERTIES: Data items that belong to a particular Vertex or Edge
WEIGHT: A quantity associated with a particular Edge
GRAPH: A network of linked Vertex and Edge objects

Vertex 1
City: San Francisco
Pop: 812,826

Edge 1
Road: I-101
Miles: 47.8

Vertex 2
City: San Jose
Pop: 967,487
...Graph Theory Terminology...
SIMPLE/UNDIRECTED GRAPH: A Graph where each VERTEX may be linked to

one or more Vertex objects via Edge objects and each Edge object is connected to
exactly two Vertex objects. Furthermore, neither Vertex connected to an Edge is more
significant than the other.

DIRECTED GRAPH: A Simple/Undirected Graph where one Vertex in a

Vertex + Edge + Vertex group (an “Arc” or “Path”) can be considered the “Head” of the
Path and the other can be considered the “Tail”.

MIXED GRAPH: A Graph in which some paths are Undirected and others are
Directed.
...Graph Theory Terminology
LOOP: An Edge that is doubly-linked to the same Vertex
MULTIGRAPH: A Graph that allows multiple Edges and Loops
QUIVER: A Graph where Vertices are allowed to be connected by multiple Arcs.
A Quiver may include Loops.

WEIGHTED GRAPH: A Graph where a quantity is assigned to an Edge, e.g.

a Length assigned to an Edge representing a road between two Vertices representing
cities.

 HALF EDGE: An Edge that is only connected to a single Vertex
 LOOSE EDGE: An Edge that isn't connected to any Vertices.
 CONNECTIVITY: Two Vertices are Connected if it is possible to find a path between
them.
COMMONLY USED GRAPH ALGORITHMS

Mac Evans
Commonly Used Graph Algorithms...
CONNECTEDNESS: Check whether or not a set of nodes in a Graph are connected.
All of the nodes in the graph below are connected, e.g. A to B, A to C via B etc.

SHORTEST PATH: The path between two nodes that visits the fewest intermediate nodes.
In the graph above, A->B->C->D is shorter than A->B->C->B->D (disallowing loops)

NODE DEGREE: The degree of a node in a network is a count of the number of

connections it has to other nodes. The degree distribution is the probability distribution of
these degrees in the whole network.
In the graph below, A and D have a node degree of 1. B and C have a node degree of 3.
...Commonly Used Graph Algorithms...
CENTRALITY: An assessment of the importance of a node within a network.
Degree Centrality is the simplest, being a count of the number of connections that a node has.
It may be expressed as “Indegree” (# of incoming connections) and “Outdegre” (# of outgoing
connections).
...Commonly Used Graph Algorithms...
CLOSENESS CENTRALITY: Closeness considers the shortest paths between nodes and
assigns a higher value to nodes that can be used to reach most other nodes most quickly.

In the graph below, node A has the greatest centrality as all other nodes can be reached in one
“hop”, whereas others require 1 hop to A or 2 hops to any other node.

A
Commonly Used Graph Algorithms...
CONNECTEDNESS: Check whether or not a set of nodes in a Graph are connected.
All of the nodes in the graph below are connected, e.g. A to B, A to C via B etc.

SHORTEST PATH: The path between two nodes that visits the fewest intermediate nodes.
In the graph above, A->B->C->D is shorter than A->B->C->B->D (disallowing loops)

NODE DEGREE: The degree of a node in a network is a count of the number of

connections it has to other nodes. The degree distribution is the probability distribution of
these degrees in the whole network.
In the graph below, A and D have a node degree of 1. B andC have a node degree of 3.
...Commonly Used Graph Algorithms...
SHORTEST PATH: The path between two nodes that visits the fewest intermediate nodes.
In the graph below, A->B->C->D is shorter than A->B->C->B->D (disallowing loops)

AVERAGE PATH LENGTH: The average of all path lengths between all pairs of nodes in a
graph.

TRANSITIVE CLOSURE: The process of exploring a graph by traversing relationships
until all nodes have been visited, but without revisiting nodes that are joined together in
loops.
In the graph above, A->B->C->D is a transitive closure.
...Commonly Used Graph Algorithms...
GRAPH DIAMETER (or SPAN): The greatest distance between any pair of nodes in a graph.
It is computed by finding the shortest path between each pair of nodes. The maximum of these
path lengths is a measure of the diameter of the graph.
The diameters of the two graphs below are 2 and 5.
...Commonly Used Graph Algorithms...
BETWEENESS CENTRALITY: A centrality measure of a node within a graph.
Nodes that have a high probability of being visited on a randomly chosen short path between two
randomly chosen nodes have a high “betweeness”
In the graph below, node D has the highest betweeness centrality.
GRAPH DATABASES
Recognizing Graphs In Object Models...
Tree Structures
1-to-Many

Object Class A
...Recognizing Graphs In Object Models...
Tree Structures
1-to-Many

Relationship
Data

Object Class A

Object Class A
Recognizing Graphs In Object Models...
Tree Structures
1-to-Many

Relationship
Data

Object Class A

Object Class A

Graph (Network) Structures
Many-to-Many

Object Class A
Recognizing Graphs In Object Models...
Tree Structures
1-to-Many

Relationship
Data

Object Class A

Object Class A

Graph (Network) Structures
Many-to-Many

Relationship Data

Object Class A

Object Class A

Copyright © Objectivity, Inc. 2012
Why Do We Need Graph DBMSs?...
Relational Database
Think about the SQL query for finding all links between the two “blue” rows... Good luck!
Table_A

Table_B

Table_C

Table_D

Table_E

Table_F

Table_G

Relational databases aren’t good at handling complex relationships!
...Graph DBMSs Are Designed To Handle Relationships
Relational Database
Think about the SQL query for finding all links between the two “blue” rows... Good luck!
Table_A

Table_B

Table_C

Table_D

Table_E

Table_F

Table_G

Objectivity/DB or InfiniteGraph - The solution can be found with a few lines of code
A3

G4
Graph Databases
• Data model:
– Node (Vertex) and Relationship (Edge) objects
– Directed
– May be a hypergraph (edges with multiple endpoints)

• Examples:
– InfiniteGraph, Neo4j, OrientDB, AllegroGraph, TitanDB and Dex

VERTEX

2

N

EDGE
Graph DBMSs Use A Very Simple Object Model
Tree Structures
1-to-Many

Relationship
Data

Object Class A

Object Class A

Graph (Network) Structures

GRAPH MODEL

Many-to-Many

Relationship Data

EDGE

Object Class A

Object Class A

VERTEX

Copyright © Objectivity, Inc. 2012
Basic Capabilities Of Most Graph Databases...
Rapid Graph Traversal

Start

Finish
...Basic Capabilities Of Most Graph Databases...
Rapid Graph Traversal

Inclusive or Exclusive Selection

X
Start

Start

X
...Basic Capabilities Of Most Graph Databases
Rapid Graph Traversal

Inclusive or Exclusive Selection

X
Start

Start

X
Find the Shortest or All Paths Between Objects

Start

Finish
InfiniteGraph Capabilities
Parallel Graph Traversal

Inclusive or Exclusive Selection

X
Start

Start

X
Shortest or All Paths Between Objects

Computational & Visualization Plug-Ins
Compute Cost To Date

Start

Finish

Start

Visualize

Copyright © Objectivity, Inc. 2013
CURRENT IMPLEMENTATIONS
Graph Databases Pre-2003
Graph Databases Post-2003

X
Titan
Graph Databases Compared [UNSW]
DATA STORAGE FEATURES
Graph Databases Compared [DZone]

Source: http://goo.gl/ni4eoE
Graph Databases – Pros and Cons
• Strengths:
– Extremely fast for connected data
– Scales out, typically
– Easy to query (navigation)
– Simple data model

• Weaknesses:
– May not support distribution or sharding
– Requires conceptual shift... a different way of thinking

VERTEX

2

N

EDGE
USE CASES
Example 1 - Market Analysis
The 10 companies that control a majority of U.S. consumer goods brands
Example 2 - Demographics
Used in social network analysis, marketing, medical research etc.
Example 3 - Seed To Consumer Tracking

?
Example 4 - Ad Placement Networks
Smartphone Ad placement - based on the the user’s profile and location data
captured by opt-in applications.
• The location data can be stored and distilled in a key-value and column store
hybrid database, such as Cassandra
• The locations are matched with geospatial data to deduce user interests.
• As Ad placement orders arrive, an application built on a graph database such
as InfiniteGraph, matches groups of users with Ads:
• Maximizes relevance for the user.
• Yields maximum value for the advertiser and the placer.
Example 4 - Ad Placement Networks
Smartphone Ad placement - based on the the user’s profile and location data
captured by opt-in applications.
• The location data can be stored and distilled in a key-value and column store
hybrid database, such as Cassandra
• The locations are matched with geospatial data to deduce user interests.
• As Ad placement orders arrive, an application built on a graph database such
as InfiniteGraph, matches groups of users with Ads:
• Maximizes relevance for the user.
• Yields maximum value for the advertiser and the placer.
Example 5 - Healthcare Informatics

Problem: Physicians need better electronic records for managing patient data on a global
basis and match symptoms, causes, treatments and interdependencies to improve
diagnoses and outcomes.
• Solution: Create a database capable of leveraging existing architecture using NOSQL tools
such as Objectivity/DB and InfiniteGraph that can handle data capture, symptoms,
diagnoses, treatments, reactions to medications, interactions and progress.
• Result: It works:
• Diagnosis is faster and more accurate
• The knowledge base tracks similar medical cases.
• Treatment success rates have improved.
Example 6 - Big Data Analytics
Example 7 – Visual Analytics
Hands On With A Graph Database

• We'll be using InfiniteGraph today
• You'll need a Java Development environment on your machine

• If you haven't downloaded InfiniteGraph already, please go to:
http://goo.gl/XzJo6T [https://download.infinitegraph.com/index.aspx]

• We'll be covering a HelloGraph and a more complex sample program

More Related Content

What's hot

Introducing Neo4j
Introducing Neo4jIntroducing Neo4j
Introducing Neo4jNeo4j
 
You Need a Data Catalog. Do You Know Why?
You Need a Data Catalog. Do You Know Why?You Need a Data Catalog. Do You Know Why?
You Need a Data Catalog. Do You Know Why?Precisely
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use CasesMax De Marzi
 
HADOOP TECHNOLOGY ppt
HADOOP  TECHNOLOGY pptHADOOP  TECHNOLOGY ppt
HADOOP TECHNOLOGY pptsravya raju
 
Data Virtualization: An Introduction
Data Virtualization: An IntroductionData Virtualization: An Introduction
Data Virtualization: An IntroductionDenodo
 
Intro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesIntro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesNeo4j
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4jNeo4j
 
Best Practices for Killer Data Visualization
Best Practices for Killer Data VisualizationBest Practices for Killer Data Visualization
Best Practices for Killer Data VisualizationQualtrics
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4jNeo4j
 
Optimizing Your Supply Chain with the Neo4j Graph
Optimizing Your Supply Chain with the Neo4j GraphOptimizing Your Supply Chain with the Neo4j Graph
Optimizing Your Supply Chain with the Neo4j GraphNeo4j
 
RDBMS to Graph
RDBMS to GraphRDBMS to Graph
RDBMS to GraphNeo4j
 
data-analytics-strategy-ebook.pptx
data-analytics-strategy-ebook.pptxdata-analytics-strategy-ebook.pptx
data-analytics-strategy-ebook.pptxMohamedHendawy17
 
Visualization For Data Science
Visualization For Data ScienceVisualization For Data Science
Visualization For Data ScienceAngela Zoss
 
Neo4j 4 Overview
Neo4j 4 OverviewNeo4j 4 Overview
Neo4j 4 OverviewNeo4j
 
Data visualization
Data visualizationData visualization
Data visualizationSushil kasar
 

What's hot (20)

Introducing Neo4j
Introducing Neo4jIntroducing Neo4j
Introducing Neo4j
 
You Need a Data Catalog. Do You Know Why?
You Need a Data Catalog. Do You Know Why?You Need a Data Catalog. Do You Know Why?
You Need a Data Catalog. Do You Know Why?
 
Graph database Use Cases
Graph database Use CasesGraph database Use Cases
Graph database Use Cases
 
Graph Analytics
Graph AnalyticsGraph Analytics
Graph Analytics
 
HADOOP TECHNOLOGY ppt
HADOOP  TECHNOLOGY pptHADOOP  TECHNOLOGY ppt
HADOOP TECHNOLOGY ppt
 
Data Virtualization: An Introduction
Data Virtualization: An IntroductionData Virtualization: An Introduction
Data Virtualization: An Introduction
 
Intro to Neo4j and Graph Databases
Intro to Neo4j and Graph DatabasesIntro to Neo4j and Graph Databases
Intro to Neo4j and Graph Databases
 
Data visualization
Data visualizationData visualization
Data visualization
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4j
 
Best Practices for Killer Data Visualization
Best Practices for Killer Data VisualizationBest Practices for Killer Data Visualization
Best Practices for Killer Data Visualization
 
Introduction to Neo4j
Introduction to Neo4jIntroduction to Neo4j
Introduction to Neo4j
 
Graph based data models
Graph based data modelsGraph based data models
Graph based data models
 
Data Visualization
Data VisualizationData Visualization
Data Visualization
 
Optimizing Your Supply Chain with the Neo4j Graph
Optimizing Your Supply Chain with the Neo4j GraphOptimizing Your Supply Chain with the Neo4j Graph
Optimizing Your Supply Chain with the Neo4j Graph
 
RDBMS to Graph
RDBMS to GraphRDBMS to Graph
RDBMS to Graph
 
data-analytics-strategy-ebook.pptx
data-analytics-strategy-ebook.pptxdata-analytics-strategy-ebook.pptx
data-analytics-strategy-ebook.pptx
 
Visualization For Data Science
Visualization For Data ScienceVisualization For Data Science
Visualization For Data Science
 
Neo4j 4 Overview
Neo4j 4 OverviewNeo4j 4 Overview
Neo4j 4 Overview
 
Data visualization
Data visualizationData visualization
Data visualization
 
Data Visualization - A Brief Overview
Data Visualization - A Brief OverviewData Visualization - A Brief Overview
Data Visualization - A Brief Overview
 

Viewers also liked

Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databasesJames Serra
 
Neo4j - graph database for recommendations
Neo4j - graph database for recommendationsNeo4j - graph database for recommendations
Neo4j - graph database for recommendationsproksik
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and HowBigBlueHat
 
Relational to Graph - Import
Relational to Graph - ImportRelational to Graph - Import
Relational to Graph - ImportNeo4j
 
Semantic Graph Databases: The Evolution of Relational Databases
Semantic Graph Databases: The Evolution of Relational DatabasesSemantic Graph Databases: The Evolution of Relational Databases
Semantic Graph Databases: The Evolution of Relational DatabasesCambridge Semantics
 
Designing and Building a Graph Database Application – Architectural Choices, ...
Designing and Building a Graph Database Application – Architectural Choices, ...Designing and Building a Graph Database Application – Architectural Choices, ...
Designing and Building a Graph Database Application – Architectural Choices, ...Neo4j
 
Converting Relational to Graph Databases
Converting Relational to Graph DatabasesConverting Relational to Graph Databases
Converting Relational to Graph DatabasesAntonio Maccioni
 
Graph Database, a little connected tour - Castano
Graph Database, a little connected tour - CastanoGraph Database, a little connected tour - Castano
Graph Database, a little connected tour - CastanoCodemotion
 
Graph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBayGraph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBayDataStax Academy
 
Introduction to graph databases GraphDays
Introduction to graph databases  GraphDaysIntroduction to graph databases  GraphDays
Introduction to graph databases GraphDaysNeo4j
 
An Introduction to NOSQL, Graph Databases and Neo4j
An Introduction to NOSQL, Graph Databases and Neo4jAn Introduction to NOSQL, Graph Databases and Neo4j
An Introduction to NOSQL, Graph Databases and Neo4jDebanjan Mahata
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4jNeo4j
 
Data Mining: Graph mining and social network analysis
Data Mining: Graph mining and social network analysisData Mining: Graph mining and social network analysis
Data Mining: Graph mining and social network analysisDataminingTools Inc
 

Viewers also liked (15)

Relational databases vs Non-relational databases
Relational databases vs Non-relational databasesRelational databases vs Non-relational databases
Relational databases vs Non-relational databases
 
Neo4j - graph database for recommendations
Neo4j - graph database for recommendationsNeo4j - graph database for recommendations
Neo4j - graph database for recommendations
 
Lju Lazarevic
Lju LazarevicLju Lazarevic
Lju Lazarevic
 
NoSQL: Why, When, and How
NoSQL: Why, When, and HowNoSQL: Why, When, and How
NoSQL: Why, When, and How
 
Relational vs. Non-Relational
Relational vs. Non-RelationalRelational vs. Non-Relational
Relational vs. Non-Relational
 
Relational to Graph - Import
Relational to Graph - ImportRelational to Graph - Import
Relational to Graph - Import
 
Semantic Graph Databases: The Evolution of Relational Databases
Semantic Graph Databases: The Evolution of Relational DatabasesSemantic Graph Databases: The Evolution of Relational Databases
Semantic Graph Databases: The Evolution of Relational Databases
 
Designing and Building a Graph Database Application – Architectural Choices, ...
Designing and Building a Graph Database Application – Architectural Choices, ...Designing and Building a Graph Database Application – Architectural Choices, ...
Designing and Building a Graph Database Application – Architectural Choices, ...
 
Converting Relational to Graph Databases
Converting Relational to Graph DatabasesConverting Relational to Graph Databases
Converting Relational to Graph Databases
 
Graph Database, a little connected tour - Castano
Graph Database, a little connected tour - CastanoGraph Database, a little connected tour - Castano
Graph Database, a little connected tour - Castano
 
Graph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBayGraph Based Recommendation Systems at eBay
Graph Based Recommendation Systems at eBay
 
Introduction to graph databases GraphDays
Introduction to graph databases  GraphDaysIntroduction to graph databases  GraphDays
Introduction to graph databases GraphDays
 
An Introduction to NOSQL, Graph Databases and Neo4j
An Introduction to NOSQL, Graph Databases and Neo4jAn Introduction to NOSQL, Graph Databases and Neo4j
An Introduction to NOSQL, Graph Databases and Neo4j
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4j
 
Data Mining: Graph mining and social network analysis
Data Mining: Graph mining and social network analysisData Mining: Graph mining and social network analysis
Data Mining: Graph mining and social network analysis
 

Similar to An Introduction to Graph Databases

Análisis llamadas telefónicas con Teoría de Grafos y R
Análisis llamadas telefónicas con Teoría de Grafos y RAnálisis llamadas telefónicas con Teoría de Grafos y R
Análisis llamadas telefónicas con Teoría de Grafos y RRafael Nogueras
 
Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXBenjamin Bengfort
 
Node Path Visualizer Using Shortest Path Algorithms
Node Path Visualizer Using Shortest Path AlgorithmsNode Path Visualizer Using Shortest Path Algorithms
Node Path Visualizer Using Shortest Path AlgorithmsIRJET Journal
 
Social Network Analysis and Visualization
Social Network Analysis and VisualizationSocial Network Analysis and Visualization
Social Network Analysis and VisualizationAlberto Ramirez
 
Data Structure Graph DMZ #DMZone
Data Structure Graph DMZ #DMZoneData Structure Graph DMZ #DMZone
Data Structure Graph DMZ #DMZoneDoug Needham
 
Lecture 2.3.1 Graph.pptx
Lecture 2.3.1 Graph.pptxLecture 2.3.1 Graph.pptx
Lecture 2.3.1 Graph.pptxking779879
 
data structures and algorithms Unit 2
data structures and algorithms Unit 2data structures and algorithms Unit 2
data structures and algorithms Unit 2infanciaj
 
Create swath profiles in GRASS GIS
Create swath profiles in GRASS GISCreate swath profiles in GRASS GIS
Create swath profiles in GRASS GISSkyler Sorsby
 
Apache Spark GraphX highlights.
Apache Spark GraphX highlights. Apache Spark GraphX highlights.
Apache Spark GraphX highlights. Doug Needham
 
Spanning Tree in data structure and .pptx
Spanning Tree in data structure and .pptxSpanning Tree in data structure and .pptx
Spanning Tree in data structure and .pptxasimshahzad8611
 
Edge Representation Learning with Hypergraphs
Edge Representation Learning with HypergraphsEdge Representation Learning with Hypergraphs
Edge Representation Learning with HypergraphsMLAI2
 
Graph-terminology.pptx
Graph-terminology.pptxGraph-terminology.pptx
Graph-terminology.pptxsharlinE4
 
Node XL - features and demo
Node XL - features and demoNode XL - features and demo
Node XL - features and demoMayank Mohan
 
Lecture 5b graphs and hashing
Lecture 5b graphs and hashingLecture 5b graphs and hashing
Lecture 5b graphs and hashingVictor Palmar
 

Similar to An Introduction to Graph Databases (20)

Graph in data structures
Graph in data structuresGraph in data structures
Graph in data structures
 
Análisis llamadas telefónicas con Teoría de Grafos y R
Análisis llamadas telefónicas con Teoría de Grafos y RAnálisis llamadas telefónicas con Teoría de Grafos y R
Análisis llamadas telefónicas con Teoría de Grafos y R
 
Graph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkXGraph Analyses with Python and NetworkX
Graph Analyses with Python and NetworkX
 
Node Path Visualizer Using Shortest Path Algorithms
Node Path Visualizer Using Shortest Path AlgorithmsNode Path Visualizer Using Shortest Path Algorithms
Node Path Visualizer Using Shortest Path Algorithms
 
Social Network Analysis and Visualization
Social Network Analysis and VisualizationSocial Network Analysis and Visualization
Social Network Analysis and Visualization
 
Data Structure Graph DMZ #DMZone
Data Structure Graph DMZ #DMZoneData Structure Graph DMZ #DMZone
Data Structure Graph DMZ #DMZone
 
Lecture 2.3.1 Graph.pptx
Lecture 2.3.1 Graph.pptxLecture 2.3.1 Graph.pptx
Lecture 2.3.1 Graph.pptx
 
Graphs data structures
Graphs data structuresGraphs data structures
Graphs data structures
 
data structures and algorithms Unit 2
data structures and algorithms Unit 2data structures and algorithms Unit 2
data structures and algorithms Unit 2
 
Create swath profiles in GRASS GIS
Create swath profiles in GRASS GISCreate swath profiles in GRASS GIS
Create swath profiles in GRASS GIS
 
Apache Spark GraphX highlights.
Apache Spark GraphX highlights. Apache Spark GraphX highlights.
Apache Spark GraphX highlights.
 
Spanning Tree in data structure and .pptx
Spanning Tree in data structure and .pptxSpanning Tree in data structure and .pptx
Spanning Tree in data structure and .pptx
 
Edge Representation Learning with Hypergraphs
Edge Representation Learning with HypergraphsEdge Representation Learning with Hypergraphs
Edge Representation Learning with Hypergraphs
 
CPP Homework Help
CPP Homework HelpCPP Homework Help
CPP Homework Help
 
Ijcnc050213
Ijcnc050213Ijcnc050213
Ijcnc050213
 
Graph-terminology.pptx
Graph-terminology.pptxGraph-terminology.pptx
Graph-terminology.pptx
 
Shortest path analysis
Shortest path analysis Shortest path analysis
Shortest path analysis
 
Node XL - features and demo
Node XL - features and demoNode XL - features and demo
Node XL - features and demo
 
Description Of A Graph
Description Of A GraphDescription Of A Graph
Description Of A Graph
 
Lecture 5b graphs and hashing
Lecture 5b graphs and hashingLecture 5b graphs and hashing
Lecture 5b graphs and hashing
 

More from InfiniteGraph

Making Sense of Graph Databases
Making Sense of Graph DatabasesMaking Sense of Graph Databases
Making Sense of Graph DatabasesInfiniteGraph
 
Webinar 3/12/14: Using Social Media to Drive Value
Webinar 3/12/14: Using Social Media to Drive ValueWebinar 3/12/14: Using Social Media to Drive Value
Webinar 3/12/14: Using Social Media to Drive ValueInfiniteGraph
 
NoSQL Simplified: Schema vs. Schema-less
NoSQL Simplified: Schema vs. Schema-lessNoSQL Simplified: Schema vs. Schema-less
NoSQL Simplified: Schema vs. Schema-lessInfiniteGraph
 
The Value of Explicit Schema for Graph Use Cases
The Value of Explicit Schema for Graph Use CasesThe Value of Explicit Schema for Graph Use Cases
The Value of Explicit Schema for Graph Use CasesInfiniteGraph
 
Solution Use Case Demo: The Power of Relationships in Your Big Data
Solution Use Case Demo: The Power of Relationships in Your Big DataSolution Use Case Demo: The Power of Relationships in Your Big Data
Solution Use Case Demo: The Power of Relationships in Your Big DataInfiniteGraph
 
PowerOfRelationshipsInBigData_SVNoSQL
PowerOfRelationshipsInBigData_SVNoSQLPowerOfRelationshipsInBigData_SVNoSQL
PowerOfRelationshipsInBigData_SVNoSQLInfiniteGraph
 
Objectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL DatabaseObjectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL DatabaseInfiniteGraph
 
Making sense of the Graph Revolution
Making sense of the Graph RevolutionMaking sense of the Graph Revolution
Making sense of the Graph RevolutionInfiniteGraph
 
Using A Distributed Graph Database To Make Sense Of Disparate Data Stores
Using A Distributed Graph Database To Make Sense Of Disparate Data StoresUsing A Distributed Graph Database To Make Sense Of Disparate Data Stores
Using A Distributed Graph Database To Make Sense Of Disparate Data StoresInfiniteGraph
 
Turning Big Data into Smart Data with Graph Technologies
Turning Big Data into Smart Data with Graph TechnologiesTurning Big Data into Smart Data with Graph Technologies
Turning Big Data into Smart Data with Graph TechnologiesInfiniteGraph
 
NoSQL Technology and Real-time, Accurate Predictive Analytics
NoSQL Technology and Real-time, Accurate Predictive AnalyticsNoSQL Technology and Real-time, Accurate Predictive Analytics
NoSQL Technology and Real-time, Accurate Predictive AnalyticsInfiniteGraph
 
How we Learned to Stop Worrying and Solve the Distributed Graph Problem
How we Learned to Stop Worrying and Solve the Distributed Graph ProblemHow we Learned to Stop Worrying and Solve the Distributed Graph Problem
How we Learned to Stop Worrying and Solve the Distributed Graph ProblemInfiniteGraph
 
Everything Goes Better With Bacon: Revisiting the Six Degrees Problem with a ...
Everything Goes Better With Bacon: Revisiting the Six Degrees Problem with a ...Everything Goes Better With Bacon: Revisiting the Six Degrees Problem with a ...
Everything Goes Better With Bacon: Revisiting the Six Degrees Problem with a ...InfiniteGraph
 
Vodafone xone fev142013v3 ext
Vodafone xone fev142013v3 extVodafone xone fev142013v3 ext
Vodafone xone fev142013v3 extInfiniteGraph
 
Dbta Webinar Realize Value of Big Data with graph 011713
Dbta Webinar Realize Value of Big Data with graph  011713Dbta Webinar Realize Value of Big Data with graph  011713
Dbta Webinar Realize Value of Big Data with graph 011713InfiniteGraph
 
Oracle no sql overview brief
Oracle no sql overview briefOracle no sql overview brief
Oracle no sql overview briefInfiniteGraph
 
Infinite graph nosql meetup dec 2012
Infinite graph nosql meetup dec 2012Infinite graph nosql meetup dec 2012
Infinite graph nosql meetup dec 2012InfiniteGraph
 
Oracle NoSQL DB & InfiniteGraph - Trends in Big Data and Graph Technology
Oracle NoSQL DB & InfiniteGraph - Trends in Big Data and Graph TechnologyOracle NoSQL DB & InfiniteGraph - Trends in Big Data and Graph Technology
Oracle NoSQL DB & InfiniteGraph - Trends in Big Data and Graph TechnologyInfiniteGraph
 
Silicon valley nosql meetup april 2012
Silicon valley nosql meetup  april 2012Silicon valley nosql meetup  april 2012
Silicon valley nosql meetup april 2012InfiniteGraph
 
NOSQL Now! Presentation, August 24, 2011: Graph Databases: Connecting the Dot...
NOSQL Now! Presentation, August 24, 2011: Graph Databases: Connecting the Dot...NOSQL Now! Presentation, August 24, 2011: Graph Databases: Connecting the Dot...
NOSQL Now! Presentation, August 24, 2011: Graph Databases: Connecting the Dot...InfiniteGraph
 

More from InfiniteGraph (20)

Making Sense of Graph Databases
Making Sense of Graph DatabasesMaking Sense of Graph Databases
Making Sense of Graph Databases
 
Webinar 3/12/14: Using Social Media to Drive Value
Webinar 3/12/14: Using Social Media to Drive ValueWebinar 3/12/14: Using Social Media to Drive Value
Webinar 3/12/14: Using Social Media to Drive Value
 
NoSQL Simplified: Schema vs. Schema-less
NoSQL Simplified: Schema vs. Schema-lessNoSQL Simplified: Schema vs. Schema-less
NoSQL Simplified: Schema vs. Schema-less
 
The Value of Explicit Schema for Graph Use Cases
The Value of Explicit Schema for Graph Use CasesThe Value of Explicit Schema for Graph Use Cases
The Value of Explicit Schema for Graph Use Cases
 
Solution Use Case Demo: The Power of Relationships in Your Big Data
Solution Use Case Demo: The Power of Relationships in Your Big DataSolution Use Case Demo: The Power of Relationships in Your Big Data
Solution Use Case Demo: The Power of Relationships in Your Big Data
 
PowerOfRelationshipsInBigData_SVNoSQL
PowerOfRelationshipsInBigData_SVNoSQLPowerOfRelationshipsInBigData_SVNoSQL
PowerOfRelationshipsInBigData_SVNoSQL
 
Objectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL DatabaseObjectivity/DB: A Multipurpose NoSQL Database
Objectivity/DB: A Multipurpose NoSQL Database
 
Making sense of the Graph Revolution
Making sense of the Graph RevolutionMaking sense of the Graph Revolution
Making sense of the Graph Revolution
 
Using A Distributed Graph Database To Make Sense Of Disparate Data Stores
Using A Distributed Graph Database To Make Sense Of Disparate Data StoresUsing A Distributed Graph Database To Make Sense Of Disparate Data Stores
Using A Distributed Graph Database To Make Sense Of Disparate Data Stores
 
Turning Big Data into Smart Data with Graph Technologies
Turning Big Data into Smart Data with Graph TechnologiesTurning Big Data into Smart Data with Graph Technologies
Turning Big Data into Smart Data with Graph Technologies
 
NoSQL Technology and Real-time, Accurate Predictive Analytics
NoSQL Technology and Real-time, Accurate Predictive AnalyticsNoSQL Technology and Real-time, Accurate Predictive Analytics
NoSQL Technology and Real-time, Accurate Predictive Analytics
 
How we Learned to Stop Worrying and Solve the Distributed Graph Problem
How we Learned to Stop Worrying and Solve the Distributed Graph ProblemHow we Learned to Stop Worrying and Solve the Distributed Graph Problem
How we Learned to Stop Worrying and Solve the Distributed Graph Problem
 
Everything Goes Better With Bacon: Revisiting the Six Degrees Problem with a ...
Everything Goes Better With Bacon: Revisiting the Six Degrees Problem with a ...Everything Goes Better With Bacon: Revisiting the Six Degrees Problem with a ...
Everything Goes Better With Bacon: Revisiting the Six Degrees Problem with a ...
 
Vodafone xone fev142013v3 ext
Vodafone xone fev142013v3 extVodafone xone fev142013v3 ext
Vodafone xone fev142013v3 ext
 
Dbta Webinar Realize Value of Big Data with graph 011713
Dbta Webinar Realize Value of Big Data with graph  011713Dbta Webinar Realize Value of Big Data with graph  011713
Dbta Webinar Realize Value of Big Data with graph 011713
 
Oracle no sql overview brief
Oracle no sql overview briefOracle no sql overview brief
Oracle no sql overview brief
 
Infinite graph nosql meetup dec 2012
Infinite graph nosql meetup dec 2012Infinite graph nosql meetup dec 2012
Infinite graph nosql meetup dec 2012
 
Oracle NoSQL DB & InfiniteGraph - Trends in Big Data and Graph Technology
Oracle NoSQL DB & InfiniteGraph - Trends in Big Data and Graph TechnologyOracle NoSQL DB & InfiniteGraph - Trends in Big Data and Graph Technology
Oracle NoSQL DB & InfiniteGraph - Trends in Big Data and Graph Technology
 
Silicon valley nosql meetup april 2012
Silicon valley nosql meetup  april 2012Silicon valley nosql meetup  april 2012
Silicon valley nosql meetup april 2012
 
NOSQL Now! Presentation, August 24, 2011: Graph Databases: Connecting the Dot...
NOSQL Now! Presentation, August 24, 2011: Graph Databases: Connecting the Dot...NOSQL Now! Presentation, August 24, 2011: Graph Databases: Connecting the Dot...
NOSQL Now! Presentation, August 24, 2011: Graph Databases: Connecting the Dot...
 

Recently uploaded

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Recently uploaded (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

An Introduction to Graph Databases

  • 1. www.Objectivity.com An Introduction To Graph Databases Leon Guzenda & Nick Quinn August 20, 2013
  • 2. Overview • Introductions • Graph Theory • Commonly Used Graph Algorithms • Graph Databases • Current Implementations • Use Cases • Hands-On Tutorial
  • 3. We Are From Objectivity Inc. Company • Objectivity, Inc. is headquartered in Sunnyvale, CA. • Established in 1988 to tackle database problems that network/hierarchical/relational and file-based technologies struggle with. • Objectivity has over two decades of Big Data and NoSQL experience Products • Develops NoSQL platforms for managing and discovering relationships and patterns in complex data: • Objectivity/DB - an object database that manages localized, centralized or distributed databases • InfiniteGraph - a massively scalable graph database built on Objectivity/DB that enables organizations to find, store and exploit the relationships in their data Markets • The Big Data market is projected to be around $12B in 2012, with a CAGR of 28% over the next five years. • 40% per year data growth, cloud adoption, mobile usage and improved real-time analytics underpin Objectivity’s growth opportunities as a Big Data analytics enabler. Customers • Embedded in hundreds of enterprises, government organizations and products - millions of deployments. Financials • Consistently generates increased revenues. • Privately held by the employees and a few venture capital companies. Copyright © Objectivity, Inc. 2012
  • 5. The History of Graph Theory 1736: Leonard Euler writes a paper on the “Seven Bridges of Konisberg” 1845: Gustav Kirchoff publishes his electrical circuit laws 1852: Francis Guthrie poses the “Four Color Problem” 1878: Sylvester publishes an article in Nature magazine that describes graphs 1936: Dénes Kőnig publishes a textbook on Graph Theory 1941: Ramsey and Turán define Extremal Graph Theory 1959: De Bruijn publishes a paper summarizing Enumerative Graph Theory 1959: Erdos, Renyi and Gilbert define Random Graph Theory 1969: Heinrich Heesch solves the “Four Color” problem 2003: Commercial Graph Database products start appearing on the market
  • 6. Graph Theory Terminology... VERTEX: A single node in a graph data structure EDGE: A connection between a pair of VERTICES PROPERTIES: Data items that belong to a particular Vertex or Edge WEIGHT: A quantity associated with a particular Edge GRAPH: A network of linked Vertex and Edge objects Vertex 1 City: San Francisco Pop: 812,826 Edge 1 Road: I-101 Miles: 47.8 Vertex 2 City: San Jose Pop: 967,487
  • 7. ...Graph Theory Terminology... SIMPLE/UNDIRECTED GRAPH: A Graph where each VERTEX may be linked to one or more Vertex objects via Edge objects and each Edge object is connected to exactly two Vertex objects. Furthermore, neither Vertex connected to an Edge is more significant than the other. DIRECTED GRAPH: A Simple/Undirected Graph where one Vertex in a Vertex + Edge + Vertex group (an “Arc” or “Path”) can be considered the “Head” of the Path and the other can be considered the “Tail”. MIXED GRAPH: A Graph in which some paths are Undirected and others are Directed.
  • 8. ...Graph Theory Terminology LOOP: An Edge that is doubly-linked to the same Vertex MULTIGRAPH: A Graph that allows multiple Edges and Loops QUIVER: A Graph where Vertices are allowed to be connected by multiple Arcs. A Quiver may include Loops. WEIGHTED GRAPH: A Graph where a quantity is assigned to an Edge, e.g. a Length assigned to an Edge representing a road between two Vertices representing cities.  HALF EDGE: An Edge that is only connected to a single Vertex  LOOSE EDGE: An Edge that isn't connected to any Vertices.  CONNECTIVITY: Two Vertices are Connected if it is possible to find a path between them.
  • 9. COMMONLY USED GRAPH ALGORITHMS Mac Evans
  • 10. Commonly Used Graph Algorithms... CONNECTEDNESS: Check whether or not a set of nodes in a Graph are connected. All of the nodes in the graph below are connected, e.g. A to B, A to C via B etc. SHORTEST PATH: The path between two nodes that visits the fewest intermediate nodes. In the graph above, A->B->C->D is shorter than A->B->C->B->D (disallowing loops) NODE DEGREE: The degree of a node in a network is a count of the number of connections it has to other nodes. The degree distribution is the probability distribution of these degrees in the whole network. In the graph below, A and D have a node degree of 1. B and C have a node degree of 3.
  • 11. ...Commonly Used Graph Algorithms... CENTRALITY: An assessment of the importance of a node within a network. Degree Centrality is the simplest, being a count of the number of connections that a node has. It may be expressed as “Indegree” (# of incoming connections) and “Outdegre” (# of outgoing connections).
  • 12. ...Commonly Used Graph Algorithms... CLOSENESS CENTRALITY: Closeness considers the shortest paths between nodes and assigns a higher value to nodes that can be used to reach most other nodes most quickly. In the graph below, node A has the greatest centrality as all other nodes can be reached in one “hop”, whereas others require 1 hop to A or 2 hops to any other node. A
  • 13. Commonly Used Graph Algorithms... CONNECTEDNESS: Check whether or not a set of nodes in a Graph are connected. All of the nodes in the graph below are connected, e.g. A to B, A to C via B etc. SHORTEST PATH: The path between two nodes that visits the fewest intermediate nodes. In the graph above, A->B->C->D is shorter than A->B->C->B->D (disallowing loops) NODE DEGREE: The degree of a node in a network is a count of the number of connections it has to other nodes. The degree distribution is the probability distribution of these degrees in the whole network. In the graph below, A and D have a node degree of 1. B andC have a node degree of 3.
  • 14. ...Commonly Used Graph Algorithms... SHORTEST PATH: The path between two nodes that visits the fewest intermediate nodes. In the graph below, A->B->C->D is shorter than A->B->C->B->D (disallowing loops) AVERAGE PATH LENGTH: The average of all path lengths between all pairs of nodes in a graph. TRANSITIVE CLOSURE: The process of exploring a graph by traversing relationships until all nodes have been visited, but without revisiting nodes that are joined together in loops. In the graph above, A->B->C->D is a transitive closure.
  • 15. ...Commonly Used Graph Algorithms... GRAPH DIAMETER (or SPAN): The greatest distance between any pair of nodes in a graph. It is computed by finding the shortest path between each pair of nodes. The maximum of these path lengths is a measure of the diameter of the graph. The diameters of the two graphs below are 2 and 5.
  • 16. ...Commonly Used Graph Algorithms... BETWEENESS CENTRALITY: A centrality measure of a node within a graph. Nodes that have a high probability of being visited on a randomly chosen short path between two randomly chosen nodes have a high “betweeness” In the graph below, node D has the highest betweeness centrality.
  • 18. Recognizing Graphs In Object Models... Tree Structures 1-to-Many Object Class A
  • 19. ...Recognizing Graphs In Object Models... Tree Structures 1-to-Many Relationship Data Object Class A Object Class A
  • 20. Recognizing Graphs In Object Models... Tree Structures 1-to-Many Relationship Data Object Class A Object Class A Graph (Network) Structures Many-to-Many Object Class A
  • 21. Recognizing Graphs In Object Models... Tree Structures 1-to-Many Relationship Data Object Class A Object Class A Graph (Network) Structures Many-to-Many Relationship Data Object Class A Object Class A Copyright © Objectivity, Inc. 2012
  • 22. Why Do We Need Graph DBMSs?... Relational Database Think about the SQL query for finding all links between the two “blue” rows... Good luck! Table_A Table_B Table_C Table_D Table_E Table_F Table_G Relational databases aren’t good at handling complex relationships!
  • 23. ...Graph DBMSs Are Designed To Handle Relationships Relational Database Think about the SQL query for finding all links between the two “blue” rows... Good luck! Table_A Table_B Table_C Table_D Table_E Table_F Table_G Objectivity/DB or InfiniteGraph - The solution can be found with a few lines of code A3 G4
  • 24. Graph Databases • Data model: – Node (Vertex) and Relationship (Edge) objects – Directed – May be a hypergraph (edges with multiple endpoints) • Examples: – InfiniteGraph, Neo4j, OrientDB, AllegroGraph, TitanDB and Dex VERTEX 2 N EDGE
  • 25. Graph DBMSs Use A Very Simple Object Model Tree Structures 1-to-Many Relationship Data Object Class A Object Class A Graph (Network) Structures GRAPH MODEL Many-to-Many Relationship Data EDGE Object Class A Object Class A VERTEX Copyright © Objectivity, Inc. 2012
  • 26. Basic Capabilities Of Most Graph Databases... Rapid Graph Traversal Start Finish
  • 27. ...Basic Capabilities Of Most Graph Databases... Rapid Graph Traversal Inclusive or Exclusive Selection X Start Start X
  • 28. ...Basic Capabilities Of Most Graph Databases Rapid Graph Traversal Inclusive or Exclusive Selection X Start Start X Find the Shortest or All Paths Between Objects Start Finish
  • 29. InfiniteGraph Capabilities Parallel Graph Traversal Inclusive or Exclusive Selection X Start Start X Shortest or All Paths Between Objects Computational & Visualization Plug-Ins Compute Cost To Date Start Finish Start Visualize Copyright © Objectivity, Inc. 2013
  • 33. Graph Databases Compared [UNSW] DATA STORAGE FEATURES
  • 34. Graph Databases Compared [DZone] Source: http://goo.gl/ni4eoE
  • 35. Graph Databases – Pros and Cons • Strengths: – Extremely fast for connected data – Scales out, typically – Easy to query (navigation) – Simple data model • Weaknesses: – May not support distribution or sharding – Requires conceptual shift... a different way of thinking VERTEX 2 N EDGE
  • 37. Example 1 - Market Analysis The 10 companies that control a majority of U.S. consumer goods brands
  • 38. Example 2 - Demographics Used in social network analysis, marketing, medical research etc.
  • 39. Example 3 - Seed To Consumer Tracking ?
  • 40. Example 4 - Ad Placement Networks Smartphone Ad placement - based on the the user’s profile and location data captured by opt-in applications. • The location data can be stored and distilled in a key-value and column store hybrid database, such as Cassandra • The locations are matched with geospatial data to deduce user interests. • As Ad placement orders arrive, an application built on a graph database such as InfiniteGraph, matches groups of users with Ads: • Maximizes relevance for the user. • Yields maximum value for the advertiser and the placer.
  • 41. Example 4 - Ad Placement Networks Smartphone Ad placement - based on the the user’s profile and location data captured by opt-in applications. • The location data can be stored and distilled in a key-value and column store hybrid database, such as Cassandra • The locations are matched with geospatial data to deduce user interests. • As Ad placement orders arrive, an application built on a graph database such as InfiniteGraph, matches groups of users with Ads: • Maximizes relevance for the user. • Yields maximum value for the advertiser and the placer.
  • 42. Example 5 - Healthcare Informatics Problem: Physicians need better electronic records for managing patient data on a global basis and match symptoms, causes, treatments and interdependencies to improve diagnoses and outcomes. • Solution: Create a database capable of leveraging existing architecture using NOSQL tools such as Objectivity/DB and InfiniteGraph that can handle data capture, symptoms, diagnoses, treatments, reactions to medications, interactions and progress. • Result: It works: • Diagnosis is faster and more accurate • The knowledge base tracks similar medical cases. • Treatment success rates have improved.
  • 43. Example 6 - Big Data Analytics
  • 44. Example 7 – Visual Analytics
  • 45. Hands On With A Graph Database • We'll be using InfiniteGraph today • You'll need a Java Development environment on your machine • If you haven't downloaded InfiniteGraph already, please go to: http://goo.gl/XzJo6T [https://download.infinitegraph.com/index.aspx] • We'll be covering a HelloGraph and a more complex sample program

Editor's Notes

  1. By initiating a polyglot approach – One can utilize existing SQL based architecture and databases while still gaining the competitive advantage that the latest NOSQL technologies provide. One example of this Polyglot approach is shown here. The technology(ies) used would be dependent on the use case.
  2. Note Object Oriented Databases as NOSQL here.