I put together a basic Cypher compiler API written in Python. I got tired of concatenating strings and using string formatting/interpolation for constructing the Cypher queries. In a nutshell, there are classes that correspond to most of constructs in Cypher. Each class is tailored to the requirements of the syntax.
You can see a few examples on the README:
https://github.com/bruth/cypher#examples
I am curious if anyone is interested in this and for any thoughts on the overall approach and API design. I wrote a few bullet points on the status:
https://github.com/bruth/cypher#status along with a list of currently supported classes (all of which could use some refinement).