Over a million developers have joined DZone.

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

DZone's Guide to

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

· Cloud Zone ·
Free Resource

Discover a centralized approach to monitor your virtual infrastructure, on-premise IT environment, and cloud infrastructure – all on a single platform.

Hi all,

Last Friday, we were all labbing again - the best day of the week.

I didn't have much time so I decided to try to produce a screencast that would measure the time required to go from nothing to flash using some of our tools.

This post was authored by

What I came up with demonstrates the process required to set up a Neo4j instance via Heroku, then connect to it from within a Google Spreadsheet (which your managers will like) using appscript.

Simple, yet pretty cool.

Note: Please make sure that you are part of the Heroku private beta program, before trying this yourself.  Alternatively send an email to heroku at neo4j.org for getting registered.
The addon-documentation is also available at heroku (protected).

The basic steps are:

  • Create and install a Heroku app (heroku apps:create)
  • Add a Neo4j instance to it (heroku addons:add neo4j)
  • Upload existing Twitter data in a graph to run on
  • Create a custom Ruby app (see below, GitHub
  • Execute Cypher queries (see below) 
  • Connect to the app using a Google Spreadsheet 
  • Build a small bar chart from a Cypher query.

Watch the screencast to see it in action:

What do you think, both about the content and the screencast itself? Some thoughts:
  • 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.

Create and Launch Heroku Application
# 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

source :rubygems

gem 'sinatra'
gem 'json'
gem 'rest-client'

require './cypher-endpoint'
run Sinatra::Application

require 'sinatra'
require 'rest-client'
require 'json'

rest = RestClient::Resource.new(ENV['NEO4J_URL'])

post '/raw-cypher' do
    data = {:query=>request.body.read }
    path = "/db/data/ext/CypherPlugin/graphdb/execute_query"
    rest[path].post data.to_json, 
        {:accept      =>"application/json", 
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' 

For the next screencasts, please suggest topics that you are interested in!
Even better - create a screencast about a Neo4j topic yourself.



Source:  http://blog.neo4j.org/2011/12/neo4j-labs-heroku-neo4j-and-google.html

Learn how to auto-discover your containers and monitor their performance, capture Docker host and container metrics to allocate host resources, and provision containers.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}