neo4j-meetups / modeling-worked-example

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Modelling a recommendation engine: A worked example

This is the repository behind a Neo4j meetup talk demonstrating how to incrementally model a real time recommendation engine.

If you’re in London feel free to come along, you can register on meetup.com

Downloading & configuring Neo4j

The following instructions assume that you’re using Neo4j 2.3.1 so go and download that now if you haven’t already

Once you’ve done that you’ll need to add the following in neo4j.properties

dbms.security.load_csv_file_url_root=data/import

If you’re using the Desktop installer set that to an absolute path rather than a relative one e.g.

dbms.security.load_csv_file_url_root=/Users/markneedham/projects/meetups/modeling-worked-example/data/

After you’ve done that copy the CSV files from the data folder to that location e.g.

cp data/*.csv neo4j-community-2.3.1/data/import/

Importing the data

The Cypher LOAD CSV scripts are in the cypher folder of the repository. You can execute them individually or use the import.sh script.

./import.sh

Now you’re all set to follow along with the session.

Queries

The following are the queries that we will write during the session:

Downloading the raw data

If you want to download the raw data you’ll need to first get a meetup API key. Once you’ve got that create a file key with the following content:

export MEETUP_API_KEY="<your-api-key>"

Once you’ve done that you can run the following script:

./download.sh

By default the data that gets downloaded is London specific. If you want to download data for another location you’ll need to set the following environment variables:

export LAT="51.5072"
export LON="0.1275"

There will now be a bunch of .json files in the data directory. We need to convert those to .csv format to make it easier to load them into Neo4j:

./csvify.sh

About


Languages

Language:HTML 48.2%Language:Python 24.2%Language:Jupyter Notebook 16.0%Language:R 7.3%Language:Shell 4.3%