Skip to content

Instantly share code, notes, and snippets.

View graphadvantage's full-sized avatar

Michael Moore graphadvantage

View GitHub Profile
@graphadvantage
graphadvantage / part2-neo4j-marketing-recommendations.md
Last active March 21, 2024 13:24
Neo4j GraphGist: Real-Time Marketing Attribution & Recommendations - Part 2 Marketing Recommendations using K-Nearest Neighbor Binary Cosine Similarity

##Neo4j GraphGist - Marketing Recommendations Using Last Touch Attribution Modeling and k-NN Binary Cosine Similarity

Neo4j Use Case: Real Time Marketing Recommendations

#Part 2. Neo4j Marketing Recommendations

In Part 1 we took a look at how to implement marketing attribution models in a Neo4j graph to enable us to determine which marketing activities are driving leads. We produced a graph with this basic structure, where each (:Lead) has been [:ATTRIBUTED_TO] one or more of the (:Activity) nodes with a [:TOUCHED] relationship to the (:Individual) :

attribution

@graphadvantage
graphadvantage / part1-neo4j-marketing-attribution.md
Last active March 21, 2024 13:23
Neo4j GraphGist: Real-Time Marketing Attribution & Recommendations - Part 1 Marketing Attribution Modeling

##Neo4j GraphGist - Marketing Recommendations Using Last Touch Attribution Modeling and k-NN Binary Cosine Similarity

Neo4j Use Case: Real-Time Marketing Recommendations

#Part 1. Neo4j Marketing Attribution Models

Introduction

Graphs are well suited for marketing analytics - a natural fit since marketing is principally about relationships. In this GraphGist, we'll take a look at how to use Neo4j to make real-time marketing recommendations.

@graphadvantage
graphadvantage / neo4j-index-refactoring.md
Last active October 29, 2023 03:03
Neo4j Category Refactoring for Large Graphs using Bolt, Indexes & Batching

##Neo4j Category Refactoring for Large Graphs using Bolt, Indexes & Batching

#Refactor 1M Nodes in 30 Seconds with Neo4j Indexes

refactor

##Introduction

Sometimes it is necessary to refactor a node property as a new hierarchy. This involves extracting the unique values of the property from child nodes, creating the new parent category nodes, and then the setting the relationship between the matching parent and child nodes.

@graphadvantage
graphadvantage / neo4j-kakfa-demo.md
Last active December 2, 2022 17:32
Neo4j GraphGist: Enterprise Architectures - Real-time Neo4j Graph Updates using Kafka Messaging

##Neo4j GraphGist - Enterprise Architectures: Real-time Graph Updates using Kafka Messaging

Neo4j Use Case: Low Latency Graph Analytics & OLTP - Update 1M Nodes in 90 secs with Kafka and Neo4j Bolt

Introduction

A recent Neo4j whitepaper describes how Monsanto is performing real-time updates on a 600M node Neo4j graph using Kafka to consume data extracted from a large Oracle Exadata instance.

This modern data architecture combines a fast, scalable messaging platform (Kafka) for low latency data provisioning and an enterprise graph database (Neo4j) for high performance, in-memory analytics & OLTP - creating new and powerful real-time graph analytics capabilities for your enterprise applications.

@graphadvantage
graphadvantage / neo4j-azure-bitlocker.md
Last active October 29, 2020 14:26
Neo4j 3.1 Performance on Azure VM with Bitlocker Disk Encryption - 2 Billion Relationships, 450 Million Nodes

Neo4j 3.1 Performance on Azure VM with Bitlocker Disk Encryption

2 Billion Relationships, 450M Nodes on an Azure VM

Introduction

I recently completed an interesting POC of Neo4j 3.1 on Azure, and discovered that there's not much in the way of documentation out there. This Gist provides some notes on how to deploy Neo4j on Azure in enterprise settings, and examines the impact of Bitlocker disk encryption on Neo4j performance for common tasks.

TopLine