jexp / neo4j-graphviz

minimal javascript library/tool to generate graphviz visualization from a neo4j cypher query
MIT License
36 stars 4 forks source link

neo4j-graphviz

Minimal Javascript library/tool for generating dot and graphviz renderings from a Neo4j Cypher query.

Uses these libraries

Command Linse Usage

Minimal:

node render.js password

Will write a graph.jpg based on MATCH path = (a)-[r]->(b) RETURN path

Syntax

cat query.cypher | node render.js password [file.png/svg/jpg] [renderer]

Example:

From the Oscars Graph.

echo 'MATCH  path = (n:Nominee {name:"Meryl Streep"})<-[:NOMINATED]-(a:Nomination)-->() RETURN path' | node render.js '****' oscars.svg neato

Programmatic Usage

see also express-test.js

var ng = require("neo4j-graphviz");

app.get('/', function(req, res){
  var type = "svg";
  ng.renderGraph("bolt://localhost","neo4j", pwd, req.param("query"), "neato", type, function(error,data) {
    if (error) res.status(500).send(error);
    else {
      res.type(type).send(data);
    }
  });
});```

## Heroku deployment

https://elements.heroku.com/buildpacks/weibeld/heroku-buildpack-graphviz

heroku apps:create heroku buildpacks:add https://github.com/weibeld/heroku-buildpack-graphviz

heroku config:set NEO4J_URL="neo4j+s://demo.neo4jlabs.com" NEO4J_USER=movies NEO4J_PASSWORD=movies NEO4J_DATABASE=movies heroku config:set GRAPHVIZ=/app/.heroku-buildpack-graphviz/usr/bin

git push heroku master