Cypher is still changing rather rapidly. Parts of the changes are internal — we add new pattern matchers, aggregators and other optimizations, which hopefully makes your queries run faster.
Other changes are directly visible to our users — the syntax is still changing. New concepts are being added and old ones changed to fit into new possibilities. To guard you from having to keep up with our syntax changes, Cypher allows you to use an older parser, but still gain the speed from new optimizations.
There are two ways you can select which parser to use.
You can configure your database with the configuration parameter
cypher_parser_version, and enter which parser you’d like to use (
2.0 are supported now).
Any Cypher query that doesn’t explicitly say anything else, will get the parser you have configured.
The other way is on a query by query basis.
By simply putting
"CYPHER 1.9" at the beginning, that particular query will be parsed with the 1.9 version of the parser.
Below is an example using the
START clause to access a legacy index:
CYPHER 1.9 START n=node:nodes(name = "A") RETURN n