Got a Database, Need a Query Language – Neo4j -[:LOVES]-> Cypher

by Michael Hunger 

Friday, 15 June 2012 10:40 @ Track 1

The Neo4j graph database is all about relationships. It allows to model domains of connected data easily. Querying using a imperative API is cumbersome and bloated. So we decided to develop a query language more suited to query graph data. Taking inspiration in SQL, SparQL and others and using Scala to implement it turned out to be a good decision. The parser-combinator library, functional composition and lazy evaluation helped us to easily go ahead. I invite you to accompany me on the journey from its inception to a being usable tool.