Neo4j Movies Application: Quick Start

This example application demonstrates how easy it is to get started with Neo4j in Python.

It is a very simple web application that uses our Movie graph dataset to provide a search with listing, a detail view and a graph visualization.

The Stack

These are the components of our Web Application:

  • Application Type: Python-Web Application
  • Web framework: Flask (Micro-Webframework)
  • Neo4j Database Connector: Neo4j Python Driver for Cypher Docs
  • Database: Neo4j-Server (4.x) with multi-database
  • Frontend: jquery, bootstrap, d3.js

Provision a database quickly with Neo4j Sandbox or Neo4j Aura.

Setup

First get yourself setup with virtualenv so we don’t break any other Python stuff you have on your machine. After you’ve got that installed let’s setup an environment for our app:

virtualenv neo4j-movies
source neo4j-movies/bin/activate

The next step is to install the dependencies for the app with pip (or pip3 for python3):

pip install -r requirements.txt

Run locally

Start your local Neo4j Server (Download & Install), open the Neo4j Browser. Then install the Movies data-set with :play movies, click the statement, and hit the triangular "Run" button.

And finally let’s start up a Flask web server:

python movies.py
# or python3 movies.py


Running on http://127.0.0.1:8080/

Navigate to http://localhost:8080 and you should see your first Neo4j application

Configuration options

Environment variable name Default value (or N/A)
PORT 8080
NEO4J_URI neo4j+s://demo.neo4jlabs.com
NEO4J_USER movies
NEO4J_PASSWORD movies
NEO4J_DATABASE movies

GitHub

https://github.com/neo4j-examples/movies-python-bolt