Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 src
Octocat-spinner-32 .gitignore
Octocat-spinner-32 pom.xml
Octocat-spinner-32 readme.md
readme.md

What is this?

Me playing around with Spring 3, Neo4j's graph database and HTML 5 canvas.

Why?

I wanted to try out graph databases and Spring 3's REST support to provide a nice web interface to editing a graph structure.

Disclaimer

Unlike most of my work there isn't a great deal of tests. The tests included are for experimental discovery purposes. I used maven's jetty plugin to drive most of the development.

The code here is by no means production ready.

Cool stuff

Spring 3's content negotiation was really simple and means the html for the page is very lightweight. The javascript in the page just requests the same page URL but as 'text/json' and Spring's content negotiation automatically serialises the view as JSON.

HTML5 Canvas. It's suprising simple to build a nice looking dynamic page using the canvas API.

arbor.js "is a graph visualization library", you can even enable "gravity" and allow nodes to fall into place. Try dragging nodes around and let them settle.

Neo4j is a super fast, transactional graph database. The searching facilities are built on top of lucene which allows you to easily and quickly search and navigate the graph structure.

Technologies

Some examples

  1. Index, list of graphs index list of graphs
  2. Default generated graph default generated graph
  3. Adding a transition adding a transition
  4. Transition added transition added
  5. Nice content negotiation. JSON backing view content negotiation
Something went wrong with that request. Please try again.