This is a PoC (Proof of Concept) like small project to integrate Neo4j with Ratpack. https://github.com/ratpack/example-ratpack-gradle-groovy-app acts as a template for this project.
The primary goal is allow remote access to Neo4j via Cypher.
The list below is a list of features, planned stuff is in parenthesis.
- execute Cypher via HTTP POST and GET
- support parameterized Cypher
- (transactional Cypher Endpoint)
- use message pack optionally as serialization format
- provide multiple output formats e.g. JSON, XML, CSV
- provide a interface to cancel currently running cypher queries
The regular, non-transactional Cypher endpoint can be accessed using the path
/cypher. Access is either possible via HTTP GET OR POST.
Cypher via HTTP GET
When sending Cypher queries using GET, the URL parameter
query needs to contain the Cypher query in url encoded way. All other URL parameters are used as Cypher parameters.
Result is rendered in JSON as outlined on Neo4j REST API.
Cypher via HTTP POST
Sending Cypher queries using HTTP POST works just like in the standard Neo4j REST API
To run this app, you need Java 7 (to be fixed)
Check this project out, cd into the directory and run:
This will start the neo4j-ratpack app. In your browser go to http://localhost:5050.
More on Ratpack
The published Ratpack Manual is currently minimal, but contributions are welcome.
More information, including issue tracker and support forum, is available on the Ratpack Website.
You can also check out the source @ https://github.com/ratpack/ratpack/tree/master or open this project in IDEA and dig through the source there.