Making Open Work
May 8–9, 2017: Training & Tutorials
May 10–11, 2017: Conference
Austin, TX

Building a real-time recommendation engine with Neo4j

William Lyon (Neo4j)
1:30pm5:00pm Tuesday, May 9, 2017
Data, Big and Small
Location: Meeting Room 9
Level: Intermediate
Average rating: ****.
(4.75, 4 ratings)

Who is this presentation for?

  • Data scientists, developers, and architects

Prerequisite knowledge

  • General database experience
  • Familiarity with Python (useful but not required)

Materials or downloads needed in advance

  • A laptop (and power cord) with Python, Py2neo, summa, and python-igraph installed prior to the start of the session (Neo4j installers, documentation, and the data we'll be working with will be provided on USB keys during the session.)

What you'll learn

  • Explore the property graph data model
  • Discover how to import and query data using Cypher, the query language for graphs
  • Learn how to create a system capable of generating real-time personalized recommendations based on user data and how to use data science tools to enhance the model used for recommendations


William Lyon demonstrates how to build a recommendation engine using Neo4j and Python. The solution will be a hybrid that makes use of both content-based and collaborative filtering to come up with multilayered recommendations.

William walks you through building the solution from scratch, explaining the decisions made along the way and sharing the factors that might lead to better recommendations for the end user. You’l learn how to model the data as a graph, explore data import with Neo4j, and use the Cypher query language to write real-time recommendation queries. You’ll also make use of Python data science tools to leverage graph algorithms and natural language processing techniques to enhance your recommender system.

Photo of William Lyon

William Lyon


William Lyon is a software engineer on the developer relations team at Neo4j, where he works primarily on integrating the Neo4j graph database with other technologies. Previously, William was a software developer for several startups in the real estate, quantitative finance, and predictive API spaces. William holds a master’s degree from the University of Montana.