(Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

30
(Neo4j)-[:relates]->(Data) Graphs, Neo4j and Music Peter Neubauer Founder, Evangelist [email protected] @peterneubauer Monday, August 19, 13

description

The presentation from a Spotify music hack with Musicbrainz at www.meetup.com/Spotify/events/103292902/

Transcript of (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Page 1: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

(Neo4j)-[:relates]->(Data)Graphs, Neo4j and Music

Peter NeubauerFounder, Evangelist

[email protected]@peterneubauer

Monday, August 19, 13

Page 2: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

CREATE (use_cases)

Monday, August 19, 13

Page 3: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Emergent Graph in Other Industries(Actual Neo4j Graphs)

Monday, August 19, 13

Page 4: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Content Management & Access Control

Emergent Graph in Other Industries(Actual Neo4j Graphs)

Monday, August 19, 13

Page 5: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Content Management & Access Control

Emergent Graph in Other Industries(Actual Neo4j Graphs)

Insurance Risk Analysis

Monday, August 19, 13

Page 6: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Content Management & Access Control

Geo Routing(Public Transport)

Emergent Graph in Other Industries(Actual Neo4j Graphs)

Insurance Risk Analysis

Monday, August 19, 13

Page 7: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Content Management & Access Control

Network Cell Analysis

Geo Routing(Public Transport)

Emergent Graph in Other Industries(Actual Neo4j Graphs)

Insurance Risk Analysis

Monday, August 19, 13

Page 8: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Content Management & Access Control

Network Asset Management

Network Cell Analysis

Geo Routing(Public Transport)

Emergent Graph in Other Industries(Actual Neo4j Graphs)

Insurance Risk Analysis

Monday, August 19, 13

Page 9: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Content Management & Access Control

Network Asset Management

Network Cell Analysis

Geo Routing(Public Transport)

BioInformatics

Emergent Graph in Other Industries(Actual Neo4j Graphs)

Insurance Risk Analysis

Monday, August 19, 13

Page 10: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Emergent Graph in Other Industries(Actual Neo4j Graphs)

Monday, August 19, 13

Page 11: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Web Browsing

Emergent Graph in Other Industries(Actual Neo4j Graphs)

Monday, August 19, 13

Page 12: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Web Browsing Portfolio Analytics

Emergent Graph in Other Industries(Actual Neo4j Graphs)

Monday, August 19, 13

Page 13: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Web Browsing Portfolio Analytics

Gene Sequencing

Emergent Graph in Other Industries(Actual Neo4j Graphs)

Monday, August 19, 13

Page 14: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Web Browsing Portfolio Analytics

Mobile Social ApplicationGene Sequencing

Emergent Graph in Other Industries(Actual Neo4j Graphs)

Monday, August 19, 13

Page 15: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Core Industries & Use Cases:

Web / ISVFinance & Insurance

Datacom / Telecom

Network & Data Center Management

MDM

Social

Geo

Early Adopter Segments(What we expected to happen - view from several years ago)

Monday, August 19, 13

Page 16: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Select Commercial Customers* Across Anticipated Segments

*Community Users Not Included

Core Industries & Use Cases:

Web / ISVFinance & Insurance

Telecomm-unications

Network & Data Center Management

MDM

Social

Geo

Neo4j Adoption Snapshot

Monday, August 19, 13

Page 17: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Core Industries & Use Cases:

Web / ISVFinance & Insurance

Telecomm-unications

Network & Data Center Management

MDM

Social

Geo

Neo4j Adoption SnapshotSelect Commercial Customers (Community Users Not Included)

Monday, August 19, 13

Page 18: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Core Industries & Use Cases:

Web / ISVFinance & Insurance

Telecomm-unications

Network & Data Center Management

MDM

Social

Geo

Core Industries & Use Cases: Software

Financial Services

Telecommunications

Web Social, HR & Recruiting

Health Care & Life Sciences

Media & Publishing

Energy, Services, Automotive, Gov’t, Logistics, Education,

Gaming, Other

Network & Data Center

Management

MDM / System of Record

Social

Geo

Identity & Access Mgmt

Content Management

Recommend-ations

BI, CRM, Impact Analysis, Fraud

Detection, Resource Optimization, etc.

Accenture

Finance

Energy Aerospace

Neo4j Adoption SnapshotSelect Commercial Customers (Community Users Not Included)

Monday, August 19, 13

Page 19: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

CREATE (hack)-[:spotify]->(recommend)

Monday, August 19, 13

Page 20: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Monday, August 19, 13

Page 21: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Monday, August 19, 13

Page 22: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Monday, August 19, 13

Page 23: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Monday, August 19, 13

Page 24: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Musicbrainz LastFM

Neo4j

Audio-dataMetadata

Monday, August 19, 13

Page 25: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Schema and import(see https://github.com/redapple/sql2graph)

Monday, August 19, 13

Page 26: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Neo Technology, Inc Confidential

MusicbrainzPSQL Schema

Monday, August 19, 13

Page 27: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Track

Artist Credit

Artist

Recording

Release

Medium

User

listened_to

released on

appears on

credits

references

is

by

Neo4j Musicbrainz schema

Monday, August 19, 13

Page 28: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Neo Technology, Inc Confidential

Graph Coolness

Monday, August 19, 13

Page 29: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Neo Technology, Inc Confidential

Usage of graph algos

• Recommendations

• Random walks

• Routing

• Dijkstra, A*

• Search

• Facetted browsing, Spatial RTrees, Page Rank

• Analytics

• Network diameter, Clustering, Coloring

Monday, August 19, 13

Page 30: (Spotify)-[:loves]->(graphs)-[:traversed_by]->(Neo4j)

Neo Technology, Inc Confidential

Types of graph algos

• Global

• Degree distribution

• Local

• Collaborative filtering

• Exact

• Shortest path

• Heuristically

• Random walks

• Derived graphs

• Hammock functions

Monday, August 19, 13