Graph ThinkingAndreas Kollegger
Product Designer
Graph Thinkingthe missing link
in your data
Chilenje ClinicLusaka, Zambia
• Patient Care
• Decision Support
• Public Health Research
• WHO Reporting
Medical Record System
• Current data
• Prior history
• Local context
• How is the data related?
• What patterns emerge from the relationships?
• Which patterns matter?
• "Assessment" makes connections, creating new data
How does this work?
Some datais missing...
• Epidemiology
• Cultural Norms
• Environmental Factors
• Agricultural Practices
• Patient Relationships
• Doctor Relationships
• Related Research
• ...
How much datado you need?
"The person with the most data, wins."
– Tim O'Reilly
1. Close relationships determinerelevance
Number of relationships increases importance
What datado you need?
Naturally, that leads topattern matching...
The internet
Genetic Ancestry of One Single Corn Variety
Andreas' Linkedin Network
Andreas Kollegger
Graph Thinking has created some of the most successful companies in the world
WHAT IS A GRAPH?
A way of representing data
DATA DATA
Relational Database
Good for: Well-understood data
structures that don’t change too frequently
A way of representing data
Known problems involving discrete parts of the data, or
minimal connectivity
Graph Database
Relational Database
Good for: Well-understood data
structures that don’t change too frequently
Known problems involving discrete parts of the data, or
minimal connectivity
A way of representing data
Good for: Dynamic systems: where the data topology is difficult to
predictDynamic requirements:
the evolve with the business Problems where the relationships in data contribute
meaning & value
THE PROPERTY GRAPH DATA
MODEL
A Graph Is
ROAD
TRAFFIC
LIGHTS
A Graph Is
HA
S
AVAILABLE
HOTEL
ROOMS
AVAILABLE
A Graph Is
KNOWS
KN
OW
S
KNOWS
WO
RK
S_AT
WORKS_AT
WORKS_AT
COMPANY
STANFORD
STU
DIE
D_A
T
KNOWS
NEO
COLUMBIA
STU
DIE
D_A
T
STUDIED_AT
STUDIED_AT
NAME:ANNE
A Graph
SINCE:2012
RELATIONSHIPS
NODE
PROPERTY
A Graph
NAME:ANNE
SINCE:2012
Graph Thinking in PracticeReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
Graph Thinking in PracticeReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
VIEW
ED
GRAPH THINKING:Real Time Recommendations
VIEWED
BOUG
HT
VIEWED BOUGHT
BOUGHT
BO
UG
HT
BOUG
HT
“As the current market leader in graph databases, and with enterprise features for scalability and availability, Neo4j is the right choice to meet our demands.” Marcos Wada
Software Developer, Walmart
Graph Thinking with Neo4jReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
Graph Thinking in PracticeReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
GRAPH THINKING:Master Data Management
MANAGES
MANAGES
LEADS
REGION
MANAGES
MANAGES
REGION
LEADS
LEADS
COLL
ABO
RATE
S
Neo4j is the heart of Cisco HMP: used for governance and single source of truth and a one-stop shop for all of Cisco’s hierarchies.
Graph Thinking with Neo4jReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
Graph Thinking in PracticeReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
OPENED_ACCOUNT
HAS IS_ISSUED
GRAPH THINKING:Fraud Detection
HA
S
LIVES LIVES
IS_ISSUED
OPE
NED
_AC
COUN
T
“Graph databases offer new methods of uncovering fraud rings and other sophisticated scams with a high-level of accuracy, and are capable of stopping advanced fraud scenarios in real-time.”
Gorka SadowskiCyber Security Expert
Graph Thinking with Neo4jReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
GRAPH THINKING:Graph Based Search
PUBLISH
INCLUDE
INCLUDE
CREATE
CAPT
URE
IN
INSO
URCE
USES
USES
IN
IN
USES
Graph Thinking in PracticeReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
SOURCE SOURCE
Uses Neo4j to manage the digital assets inside of its next generation in-flight entertainment system.
Graph Thinking with Neo4jReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
Graph Thinking in PracticeReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
BROWSES
CONN
ECTS
BRIDGES
ROUTES
POW
ERS
ROUTES
POWERSPOWERS
HOSTS
QUERIES
GRAPH THINKING:Network & IT-Operations
Uses Neo4j for network topology analysis for big telco service providers
Graph Thinking with Neo4jReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
GRAPH THINKING:Identity And Access Management
TRUSTS
TRUSTS
ID
ID
AUTHENTICATES AUTH
ENTI
CATE
S
Graph Thinking in PracticeReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
OWNS
OWNSC
AN
_REA
D
UBS was the recipient of the 2014 Graphie Award for “Best Identify And Access Management App”
Graph Thinking with Neo4jReal Time Recommendations
Master Data Management
Fraud Detection
Identity & Access Management
Graph Based SearchNetwork & IT-Operations
WHY GRAPH THINKING?
IntuitivnessSpeedAgility
IntuitivnessSpeedAgility
Intuitivness
IntuitivnessSpeedAgility
Speed
“We found Neo4j to be literally thousands of times faster than our prior MySQL solution, with queries that require 10-100 times less code. Today, Neo4j
provides eBay with functionality that was previously impossible.”- Volker Pacher, Senior Developer
“Minutes to milliseconds” performanceQueries up to 1000x faster than RDBMS or other
NoSQL
IntuitivnessSpeedAgility
A Naturally Adaptive ModelA Query Language Designed
for Connectedness
+
=Agility
CypherTypical Complex SQL Join The Same Query using Cypher
MATCH (boss)-[:MANAGES*0..3]->(sub), (sub)-[:MANAGES*1..3]->(report)WHERE boss.name = “John Doe”RETURN sub.name AS Subordinate, count(report) AS Total
Project ImpactLess time writing queries• More time understanding the answers• Leaving time to ask the next question
Less time debugging queries: • More time writing the next piece of code• Improved quality of overall code base
Code that’s easier to read:• Faster ramp-up for new project members• Improved maintainability & troubleshooting
Ann DanLoves
CYPHER
Ann DanLoves
Ann DanLoves
(Dan)(Ann) -[:LOVES]->
Ann DanLoves
(:Person {name:”Ann"}) –[:LOVES]-> (:Person {name:"Dan"})
Ann DanLoves
(:Person {name:”Ann"}) –[:LOVES]-> (:Person {name:"Dan"})
Ann DanLoves
Node Relationship Node
(:Person {name:"Ann"}) –[:LOVES]-> (:Person {name:"Dan"})
Query: Whom does Ann love?
MATCH (:Person {name:"Ann"})–[:LOVES]->(whom)
RETURN whom
Users Love Cypher
Graph Thinkingfocuses on relationships
to turn data into informationand uses patterns to find meaning
It's all about relationships & patterns
THANK YOU!
Top Related