In making Cypher, Neo Technology and Andres Taylor (@andres_taylor) set out to create a new query language, specifically to deal with graph data structures like the ones that we store in Neo4j. There were a couple of reasons for this; more specifically, there are four attributes that are not available together in any other query language out there.
Let's quickly examine these attributes, as they are quite important in understanding the way Cypher works in Neo4j:
- Declarative: Cypher is a declarative query language, which is very different from the imperative alternatives out there. You declare the pattern that you are looking for. You effectively tell Cypher what you want, not how to get it. This is crucial, as imperative approaches always suppose that you--as you interact with the database--have the following qualities:
- Are a programmer who knows...