[2] Cypher was originally intended to be used with the graph database Neo4j, but was opened up through the openCypher project in October 2015.
[3] The language was designed with the power and capability of SQL (standard query language for the relational database model) in mind, but Cypher was based on the components and needs of a database built upon the concepts of graph theory.
In a graph model, data is structured as nodes (vertices in math and network science) and relationships (edges in math and network science) to focus on how entities in the data are connected and related to one another.
Properties are key-value pairs with a binding of a string key and some value from the Cypher type system.
It also supports temporal types like datetime, localdatetime, date, time, localtime, and duration.
In the return, the query specifies to output the movie nodes that fit the pattern and filtering from the match and where clauses.
Cypher also contains keywords to specify clauses for writing, updating, and deleting data.
For example: [9] With the openCypher project, an effort began to standardize Cypher as the query language for graph processing.
The most recent OCIM took place in Berlin,[10] coincident with the W3C Workshop on Web Standards for Graph Data Management, in March 2019.
[11] At that meeting, there was a consensus to work towards Cypher becoming a significant input into a wider project for an international standardized Graph Query Language called GQL.
Firstly, the graph model can be a natural fit for data sets that have hierarchical, complex, or even arbitrary structures.
However, a common, standardized query language for property graphs (like SQL for relational database systems) is missing.