Graph Thinking: Why it Matters

  • View
    658

  • Download
    1

Embed Size (px)

Transcript

Graph ThinkingAndreas KolleggerProduct Designer

Graph Thinkingthe missing linkin your data

Chilenje ClinicLusaka, Zambia

Patient CareDecision SupportPublic Health Research WHO Reporting

Medical Record System

increasing complexity

Current dataPrior historyLocal contextHow is the data related?What patterns emerge from the relationships?Which patterns matter?"Assessment" makes connections, creating new dataHow does this work?

Some datais missing...

EpidemiologyCultural NormsEnvironmental FactorsAgricultural PracticesPatient RelationshipsDoctor RelationshipsRelated Research...

How much datado you need?

"The person with the most data, wins." Tim O'Reilly

Close relationships determinerelevanceNumber of relationships increases importanceWhat datado you need?

Naturally, that leads topattern matching...

100 billion neurons1,000 trillion synaptic connections

100 billion neurons

The internet

Genetic Ancestry of One Single Corn Variety

Andreas' Linkedin NetworkAndreas Kollegger

Graph Thinking has created some of the most successful companies in the world

And deriving value from data-relationships is exactly what some of the most successful companies in the world have done.

Google created perhaps the most valuable advertising system of all time on top of their search-enginge, which is based on relationships between webpages.Linkedin created perhaps the most valuable HR-tool ever based on relationships amongst professionalAnd this is also what pay-pal did, creating a peer-to-peer transaction service, based on relationships.

WHAT IS A GRAPH?

First, not everyone in the room would know what a graph is.

A way of representing data

DATADATA

What this means for your data structure

Relational DatabaseGood for: Well-understood data structures that dont change too frequentlyA way of representing dataKnown problems involving discrete parts of the data, or minimal connectivity

Graph Database

Relational DatabaseGood for: Well-understood data structures that dont change too frequently

Known problems involving discrete parts of the data, or minimal connectivityA way of representing dataGood 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 MODELEXPLAIN > VALIDATE

First, not everyone in the room would know what a graph is.

A Graph Is

A graph is connected data.Which essentially means datapoints that have relationships with other datapoints.

ROADTRAFFICLIGHTSA Graph Is

For example, a road could have traffic jams and traffic lights

HASAVAILABLE

HOTELROOMSAVAILABLEA Graph Is

Or a hotel that has rooms, which have availability

KNOWSKNOWS

KNOWS

WORKS_AT

WORKS_AT

WORKS_ATCOMPANYSTANFORD

STUDIED_AT

KNOWS

NEOCOLUMBIASTUDIED_AT

STUDIED_ATSTUDIED_AT

NAME:ANNEA GraphSINCE:2012RELATIONSHIPS

NODE

PROPERTY

Or it could be people who know other people who know other people.. who studied together, who work at the same place who studied with other people, who works somewhere else etc.

A GraphNAME:ANNESINCE:2012

The interesting thing is what happens when you start to add more and more relationships to these graphs, and these things start to take off at scale

forming an extremely powerful foundation from which you can derive value.

Graph Thinking in PracticeReal Time RecommendationsMaster Data ManagementFraud DetectionIdentity & Access ManagementGraph Based SearchNetwork & IT-Operations

Graph Thinking in PracticeReal Time RecommendationsMaster Data ManagementFraud DetectionIdentity & Access ManagementGraph Based SearchNetwork & IT-Operations

VIEWEDGRAPH THINKING:Real Time Recommendations

VIEWEDBOUGHTVIEWEDBOUGHTBOUGHTBOUGHT

BOUGHT

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 WadaSoftware Developer, Walmart

Graph Thinking with Neo4jReal Time RecommendationsMaster Data ManagementFraud DetectionIdentity & Access ManagementGraph Based SearchNetwork & IT-Operations

Graph Thinking in PracticeReal Time Recommendations

Master Data ManagementFraud DetectionIdentity & Access ManagementGraph Based SearchNetwork & IT-Operations

GRAPH THINKING:Master Data Management

MANAGESMANAGES

LEADSREGIONMANAGESMANAGESREGIONLEADSLEADSCOLLABORATES

Neo4j is the heart of Cisco HMP: used for governance and single source of truth and a one-stop shop for all of Ciscos hierarchies.

Graph Thinking with Neo4jReal Time Recommendations

Master Data ManagementFraud DetectionIdentity & Access ManagementGraph Based SearchNetwork & IT-Operations-Prem Malhotra, Director of Enterprise Architecture at Cisco Systems

Graph Thinking in PracticeReal Time RecommendationsMaster Data Management

Fraud DetectionIdentity & Access ManagementGraph Based SearchNetwork & IT-Operations

OPENED_ACCOUNTHASIS_ISSUEDGRAPH THINKING:Fraud Detection

HASLIVESLIVESIS_ISSUEDOPENED_ACCOUNT

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 RecommendationsMaster Data Management

Fraud DetectionIdentity & Access ManagementGraph Based SearchNetwork & IT-Operations

GRAPH THINKING:Graph Based Search

PUBLISH

INCLUDEINCLUDECREATECAPTUREININSOURCEUSESUSESININUSES

Graph Thinking in PracticeReal Time RecommendationsMaster Data ManagementFraud DetectionIdentity & Access Management

Graph Based SearchNetwork & IT-OperationsSOURCE

SOURCE

Uses Neo4j to manage the digital assets inside of its next generation in-flight entertainment system.

Graph Thinking with Neo4jReal Time RecommendationsMaster Data ManagementFraud DetectionIdentity & Access Management

Graph Based SearchNetwork & IT-Operations

Graph Thinking in PracticeReal Time RecommendationsMaster Data ManagementFraud DetectionIdentity & Access ManagementGraph Based Search

Network & IT-Operations

BROWSESCONNECTSBRIDGESROUTESPOWERSROUTESPOWERSPOWERSHOSTSQUERIESGRAPH THINKING:Network & IT-Operations

Uses Neo4j for network topology analysis for big telco service providers

Graph Thinking with Neo4jReal Time RecommendationsMaster Data ManagementFraud DetectionIdentity & Access ManagementGraph Based Search

Network & IT-Operations

GRAPH THINKING:Identity And Access Management

TRUSTS

TRUSTSIDIDAUTHENTICATESAUTHENTICATES

Graph Thinking in PracticeReal Time RecommendationsMaster Data ManagementFraud DetectionIdentity & Access ManagementGraph Based SearchNetwork & IT-Operations

OWNSOWNSCAN_READ

UBS was the recipient of the 2014 Graphie Award for Best Identify And Access Management App

Graph Thinking with Neo4jReal Time RecommendationsMaster Data ManagementFraud DetectionIdentity & Access ManagementGraph Based SearchNetwork & IT-Operations

WHY GRAPH THINKING?

First, not everyone in the room would know what a graph is.

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 DeveloperMinutes to milliseconds performanceQueries up to 1000x faster than RDBMS or other NoSQL

IntuitivnessSpeedAgility

A Naturally Adaptive ModelA Query Language Designedfor Connectedness+=Agility

Cypher

Typical Complex SQL JoinThe Same Query using Cypher

MATCH (boss)-[:MANAGES*0..3]->(sub), (sub)-[:MANAGES*1..3]->(report)WHERE boss.name = John DoeRETURN sub.name AS Subordinate, count(report) AS Total

Project ImpactLess time writing queriesMore time understanding the answersLeaving time to ask the next question

Less time debugging queries: More time writing the next piece of codeImproved quality of overall code base

Code thats easier to read:Faster ramp-up for new project membersImproved maintainability & troubleshooting

CYPHER

First, not everyone in the room would know what a graph is.

AnnDanLoves

CYPHER

The obligatory Ann Loves Dan example

Ann LOVES DanDrill into cypher

AnnDan

Loves

Ann LOVES DanDrill into cypher

AnnDan

Loves

(Dan)(Ann)-[:LOVES]->

Ann LOVES DanDrill into cypher

AnnDan

Loves

(:Person {name:Ann"}) [:LOVES]-> (:Person {name:"Dan"})

Ann LOVES DanDrill into cypher

AnnDan

Loves

(:Person {name:Ann"}) [:LOVES]-> (:Person {name:"Dan"})

Ann LOVES DanDrill into cypher

AnnDan

Loves

NodeRelationshipNode(:Person {name:"Ann"}) [:LOVES]-> (:Person {name:"Dan"})

Ann LOVES DanDrill into cypher

Query: Whom does Ann love?MATCH (:Person {name:"Ann"})[:LOVES]->(whom)RETURN whom

Users Love Cypher

And

Recommended

View more >