OSCON 2017 William Lyon @lyonwj
Building a real-time recommendation engine with Neo4j OSCON 2017 - - PowerPoint PPT Presentation
Building a real-time recommendation engine with Neo4j OSCON 2017 - - PowerPoint PPT Presentation
Building a real-time recommendation engine with Neo4j OSCON 2017 William Lyon @lyonwj William Lyon Developer Relations Engineer @neo4j will@neo4j.com @lyonwj lyonwj.com Agenda Use cases Recommender systems
William Lyon
Developer Relations Engineer @neo4j will@neo4j.com @lyonwj lyonwj.com
Agenda
- Use cases
- Recommender systems
- Hands-on!
- Graph data modeling
- Cypher
Neo4j
Graph Database
Graph Data Model
Labeled Property Graph Model
Labeled Property Graph Model
The Graph
The Graph
The Graph
The Graph
The Graph
- penCypher
(queryLanguage)-[:FOR]->(graphs)
Cypher
Use Case: Personalized Recommendations
Personalized Promotions Personalized Real-Time Recommendations Personalized Real-Time Recommendations
Data-Model
(Expressed as
a graph)
Category CategoryProduct Product Product
Collaborative Filtering
An algorithm that considers users interactions with products, with the assumption that other users will behave in similar ways. Algorithm Types
Content Based
An algorithm that considers similarities between products and categories of products.
Customer CustomerProduct Product Product
Purchases
RELATIONAL DB WIDE COLUMN STORE
Views
DOCUMENT STORE
User Review
RELATIONAL DB
In-Store Purchase Shopping Cart
KEY VALUE STORE
Product Catalogue
DOCUMENT STORE
Category Price Configurations Location
Polyglot Persistence
Purchase View Review Return In-store Purchases Inventory Location Category Price Configurations Location Purchase View Review Return In-store Purchases Inventory
Products Customers / Users
Location
Data Lake
Purchases
RELATIONAL DB
Product Catalogue
DOCUMENT STORE WIDE COLUMN STORE
Views
DOCUMENT STORE
User Review
RELATIONAL DB
In-Store Purchase Shopping Cart
KEY VALUE STORE
Recommendations require an operational workload — it’s in the moment, real-time!
Good for Analytics, BI, Map Reduce Non-Operational, Slow Queries
Purchases
RELATIONAL DB
Product Catalogue
DOCUMENT STORE WIDE COLUMN STORE
Views
DOCUMENT STORE
User Review
RELATIONAL DB
In-Store Purchase Shopping Cart
KEY VALUE STORE
Connector Drivers: Java | JavaScript | Python | .Net | PHP | Go | Ruby Apps and Systems
Real-Time Queries
Graph-based recommendations
Collaborative Filtering
Collaborative Filtering
Collaborative Filtering
Collaborative Filtering
In Cypher
In Cypher
Content Filtering
Content Filtering
Content Filtering w/ Cypher
Content Filtering - Concept Hierarchy
Content Filtering - Concept Hierarchy
Content Filtering - Concept Hierarchy
Content Filtering - Concept Hierarchy w/ Cypher
Content Filtering - Concept Hierarchy w/ Cypher
Neo4j Sandbox
- →
○ ○
- →
○ ○
Click “Neo4j Browser”
You should see this: Neo4j Browser
- Query workbench /
visualization for Neo4j
- Interactive “guides” for
- ur tutorial today
- Embed content, queries