DSL to comunicate with Neo4j

I’ve created a new library to provide a DSL to build cypher queries with Neo4j: ExCypher.

My idea was to work as close as possible with cypher’s syntax, but using elixir instead. This way, using bolt-sips as a driver, instead of building a query like this:

alias Bolt.Sips, as: DB
DB.query("MATCH (n) RETURN n")

One can do it using elixir instead:

alias Bolt.Sips, as: DB
DB.query(
  cypher do
    match node(:n)
    return :n
  end
)

I’ve been using it on a personal project only and decided to expose it’s interface in the github:

Any feedbacks are welcome!

5 Likes