Neo4j Labs: Heroku, Neo4j and Google Spreadsheet in 10min. Flat.
3 min read

- Register at Heroku and install the heroku gem
- Create and install a Heroku app (heroku apps:create)
- Add a Neo4j addon instance to it (heroku addons:add neo4j)
- Upload existing Twitter data to the graph
- Create a custom Ruby app (code below)
- Execute Cypher queries (queries below)
- Connect to the app using a Google Spreadsheet
- Build a small bar chart from a Cypher query.
- quality is not stellar but acceptable with IShowU and built-in MacBookPro Mic
- probably a transcript of the commands used in the cast would be good, as suggested by Patrick Durusau
- YouTube seems to have a problem accepting my login via iMovie, which I used for putting together the pieces.
- All in all, it will take about 2h to produce this kind of casts, hope to get that down to 1h for 5 minutes.
# Register at Heroku and for the beta program > git init > heroku apps:create <app-name> > heroku addons:add neo4j > add the files below > git add *; git commit -m"neo4j demo" > git push heroku master# Gemfile
source :rubygemsgem ‘sinatra’ gem ‘json’ gem ‘rest-client’ #config.ru
require './cypher-endpoint' run Sinatra::Application#cypher-endpoint.rb
require 'sinatra' require 'rest-client' require 'json'rest = RestClient::Resource.new(ENV[‘NEO4J_URL’]) post ‘/raw-cypher’ do data = {:query=>request.body.read } rest[“/db/data/ext/CypherPlugin/graphdb/execute_query”].post data.to_json, {:accept=>”application/json”,:content_type=>”application/json”} end Cypher Queries
start user=node(212) match user-[:USED]->tag return tag.name start user=node:users(twid:*) match user-[:TWEETED]->tweet return user.twid, count(*)
curl -d'start user=node:users("twid:*") match user-[:TWEETED]-> tweet -[:TAGGED]-> tag return user.twid, tag.name, count(*) order by count(*) desc limit 10' https://heroku-neo4j-appscript-demo.heroku.com/raw-cypherFor the next screencasts, please suggest topics that you are interested in! Even better – create a screencast about a Neo4j topic yourself. Enjoy! /peter PS: The front picture is my son Kalle during a tour around the beautiful island of Nordkoster.