The Curious Engineer

All blogs / Databases

Max De Marzi

maxdemarzi.com

Graphs, Graphs, and nothing but the Graphs

DatabasesJava / JVMPerformance / optimizationC++

Posts
222 from 4 Jan 2012 to 30 Oct 2026
Posting
monthly (7 in the last year)
Kind
personal blog
Feed
https://maxdemarzi.com/feed/

2026 7

  1. How I use Claude
  2. Eating our own tails
  3. The Logic Graph Epiphany
  4. You’re working like a caveman she said.
  5. Hey Database! Go Fine Tune Yourself
  6. Extending MySQL with VillageSQL
  7. Decision Graphs

2023 5

  1. Improving Performance with Flame Graphs
  2. Counting Triangles
  3. All of NoSQL is because of this…
  4. Bullshit Graph Database Performance Benchmarks
  5. Death Star Queries in Graph Databases

2022 17

  1. KHop Baby One More Time
  2. Dark Mode
  3. Observations of the LDBC SNB Benchmark
  4. Watch your Language
  5. Query Optimizers are made of sand
  6. When the demo is over
  7. Getting a Mascot
  8. 30 Days of Relational AI
  9. Let’s build something Outrageous – Part 25: Dates in C++ and Faster Imports
  10. Let’s build something Outrageous – Part 24: Permissions and Multiple Graphs
  11. Let’s build something Outrageous – Part 23: Sandboxing
  12. Let’s build something Outrageous – Part 22: Seeing Results
  13. Let’s build something Outrageous – Part 21: Overloading
  14. Let’s build something Outrageous – Part 20: I can’t live without Roaring Bitmaps
  15. Let’s build something Outrageous – Part 19: LDBC Short Queries
  16. Let’s build something Outrageous – Part 18: Load CSV
  17. Let’s build something Outrageous – Part 17: Bulk Traversals

2021 16

  1. Let’s build something Outrageous – Part 16: Adding a UI
  2. Let’s build something Outrageous – Part 15: Connected
  3. Let’s build something Outrageous – Part 14: Command Logging
  4. Let’s build something Outrageous – Part 13: Finding Things Faster
  5. Let’s build something Outrageous – Part 12: Finding Things
  6. Let’s build something Outrageous – Part 11: Testing
  7. Let’s build something Outrageous – Part 10: Nulls
  8. Let’s build something Outrageous – Part 9: Docker
  9. Let’s build something Outrageous – Part 8: Queries with Lua
  10. Let’s build something Outrageous – Part 7: Performance
  11. Let’s build something Outrageous – Part 6: Relationships
  12. Let’s build something Outrageous – Part 5: Properties
  13. Let’s build something Outrageous – Part 4: Creating and Retrieving Nodes
  14. Let’s build something Outrageous – Part 3: Node Types
  15. Let’s build something Outrageous – Part 2: Shards are ok!
  16. Let’s build something Outrageous

2020 13

  1. Changes in Direction with The Traversal API
  2. Faux Bitmap Indexes in Neo4j Part Two
  3. Faux Bitmap Indexes in Neo4j
  4. Declarative Query Languages are the Iraq War of Computer Science
  5. Cleansing your Neo4j Aura
  6. Getting and Creating Likes with Neo4j
  7. Stored Procedures in Neo4j Are NOT Evil
  8. Graphs and Pyramids
  9. Updating your Neo4j 3.x Unmanaged Extensions to 4.x
  10. Finding Fraud Part Two Revised
  11. Composite Indexes in Neo4j 4.0
  12. Going Faster in 2020
  13. Getting the latest transactions

2019 20

  1. Visualizing Activities
  2. Marketing Activities
  3. Building a Chat Bot in Neo4j Part 3
  4. Building a Chat Bot in Neo4j Part 2
  5. Building a Chat Bot in Neo4j
  6. The Real Property Graph
  7. It’s getting cloudy
  8. Finding Fraud Part Two
  9. Finding Fraud
  10. Testing APOC inside your Stored Procedures
  11. Parallel K-Hop Counts
  12. Vendor Benchmarks
  13. Finding Motifs in Cypher for Fun and Profit
  14. Graph Analytics Book Jupyter Notebook for Chapter 8
  15. Get the free Graph Analytics book:
  16. Modeling Events in Neo4j
  17. Filtering Connected Dynamic Forms
  18. Network Routing in Neo4j
  19. Calculating the best Rail Road paths in Neo4j
  20. Neo4j Stored Procedures for Devs that don’t know Java (yet)

2018 25

  1. Dynamic Rule Based Decision Trees in Neo4j – Part 4
  2. Dynamic Rule Based Decision Trees in Neo4j – Part 3
  3. Finding your neighbors using Neo4j
  4. Multiple origin multiple destination 3 relationships queries for knowledge graphs using Neo4j
  5. Building a Dating site with Neo4j – Part Twelve
  6. Building a Dating site with Neo4j – Part Eleven
  7. Building a Dating site with Neo4j – Part Ten
  8. Building a Dating site with Neo4j – Part Nine
  9. Building a Dating site with Neo4j – Part Eight
  10. Building a Dating site with Neo4j – Part Seven
  11. Building a Dating site with Neo4j – Part Six
  12. Building a Dating site with Neo4j – Part Five
  13. Building a Dating site with Neo4j – Part Four
  14. Building a Dating site with Neo4j – Part Three
  15. Building a Dating site with Neo4j – Part Two
  16. Building a Dating site with Neo4j – Part One
  17. Transmuting Documents into Graphs
  18. Offers with Neo4j
  19. Scheduling Meetings with Neo4j
  20. Neo4j Geospatial Queries
  21. Keeping Properties Secret in Neo4j
  22. Replicants
  23. Dynamic Rule Based Decision Trees in Neo4j – Part 2
  24. Neptune and Uranus
  25. Dynamic Rule Based Decision Trees in Neo4j

2017 27

  1. Adding gRPC to Neo4j
  2. Stored Procedure to Import Data
  3. Mutual Fund Benchmarks with Neo4j
  4. Bill of Materials in Neo4j
  5. Counting Nodes with Multiple Labels
  6. Work Order Management with Neo4j
  7. Building a Boolean Logic Rules Engine in Neo4j
  8. Finding Triplets with Neo4j
  9. Using a Cuckoo Filter for Unique Relationships
  10. Flight Search with Neo4j
  11. Building a Twitter Clone with Neo4j – Part Eight
  12. Building a Twitter Clone with Neo4j – Part Seven
  13. Building a Twitter Clone with Neo4j – Part Six
  14. Building a Twitter Clone with Neo4j – Part Five
  15. Building a Twitter Clone with Neo4j – Part Four
  16. Building a Twitter Clone with Neo4j – Part Three
  17. Building a Twitter Clone with Neo4j – Part Two
  18. Building a Twitter Clone with Neo4j – Part One
  19. Searching for objects using multiple dimensions
  20. Neo4j is faster than MySQL in performing recursive query
  21. Writing a Cypher Stored Procedure
  22. Our own Multi-Model Database – Part 6
  23. Our own Multi-Model Database – Part 5
  24. Property Level Security with Neo4j Enterprise
  25. Our own Multi-Model Database – Part 4
  26. Multi-Threading a Traversal
  27. Our own Multi-Model Database – Part 3

2016 10

  1. OUR OWN MULTI-MODEL DATABASE – PART 2
  2. Our own Multi-Model Database – Part 1
  3. Connected
  4. Enabling Legacy Automatic Full Text Search on Neo4j 3.x
  5. News Feeds
  6. Catalogs and Hierarchies
  7. Delivering a Graph Based Search solution to slightly wrong data
  8. Custom Importers
  9. Speeding up Traversals
  10. Scaling Cypher Writes

2015 11

  1. Bidirectional Traversals in Space
  2. Benchmarks and Superchargers
  3. Flight Search with the Neo4j Traversal API
  4. Modeling Airline Flights in Neo4j
  5. Using the Testing Harness for Neo4j Extensions
  6. Importing the Hacker News Interest Graph
  7. Triggers in Neo4j
  8. One Direction Relationships in Neo4j
  9. Giving Neo4j 2.2 a Workout
  10. Caching Immutable Id lookups in Neo4j
  11. Remote Profiling Neo4j with YourKit on AWS

2014 11

  1. Tracking User Paths in an IVR with Neo4j
  2. Scaling Concurrent Writes in Neo4j
  3. Kickstarting a Neo4j Video Series
  4. Translating Cypher To Neo4j Java API 2.0
  5. Neo4j all the way Down!
  6. Caching Partial Traversals in Neo4j
  7. It’s over 9000! Neo4j on WebSockets
  8. Neo4j at Ludicrous Speed
  9. Online Payment Risk Management with Neo4j
  10. Neo4j Spatial Part 2
  11. Neo4j Spatial Part 1

2013 16

  1. The Power of Open Source Software
  2. Scaling Up
  3. Translating Cypher to Java
  4. Scaling Writes
  5. Connected
  6. The Last Mile
  7. Neo4j 2.0 is coming
  8. Visualizing the news with Vivagraph.js
  9. Knowledge Bases in Neo4j
  10. Match Making with Neo4j
  11. Permission Resolution with Neo4j – Part 3
  12. Permission Resolution with Neo4j – Part 2
  13. Permission Resolution with Neo4j – Part 1
  14. A Peek behind the Neo4j Lucene Index Curtain
  15. Neo4j and Gatling sitting in a tree, Performance T-E-S-T-ing
  16. Facebook Graph Search with Cypher and Neo4j

2012 44

  1. Setting up a Neo4j Cluster on Amazon
  2. Pathfinding with Neo4j Unmanaged Extensions
  3. Extending Neo4j
  4. CrunchBase on Neo4j
  5. Matches are the New Hotness
  6. Hubway Data Visualization Challenge with Neo4j
  7. Hunting Trolls with Neo4j!
  8. Networks, Crowds, and Markets
  9. NeoSocial: Connecting to Facebook with Neo4j
  10. Getting a Big Neo4j Test Box for Cheap!
  11. Neo4j Internals
  12. Summarize Opinions with a Graph – Part 1
  13. HCIR 2012
  14. Graph Generator
  15. Batch Importer – Part 3
  16. Personalization with Cypher
  17. Key Players
  18. Relationships
  19. Slides from Chicago Graph Database April Meet-up
  20. Using Three.js with Neo4j
  21. Using Sigma.js with Neo4j
  22. Slides from Chicago Graph Database March Meet-up
  23. Visualizing a set of Hiveplots with Neo4j
  24. MadCoderTV is live on Roku
  25. JUNG in Neo4j – Part 2
  26. JUNG in Neo4j – Part 1
  27. Connections in Time
  28. Batch Importer – Part 2
  29. Batch Importer – Part 1
  30. Max Flow with Gremlin and Transactions
  31. Importing Wikipedia into Neo4j with Graphipedia
  32. Visualizing a Network with Cypher and D3.js
  33. Graph Visualization and Neo4j – Part Three
  34. Graph Visualization and Neo4j – Part Two
  35. Who is the Greatest?
  36. Chicago Graph DB Meet-Up
  37. Neo4j on Heroku – Part Three
  38. Neo4j on Heroku – Part Two
  39. Neo4j on Heroku – Part One
  40. Graph Visualization and Neo4j
  41. Cypher with Neography
  42. Gremlin with Neography
  43. How you’re connected to Kevin Bacon
  44. Getting started with Ruby and Neo4j