Cypher Language Reference (Preview)
In addition to the SPARQL query language, AnzoGraph also provides Cypher language support, patterned after compatibility with the openCypher community group's language specification for query and update of graph databases. openCypher is an open, multi-vendor initiative aimed at making the Cypher language available as a industry-standard query language for graph databases. Cypher® is a registered trademark of Neo4j, Inc.
The current functionality provided by the AnzoGraph implementation of the Cypher language is a Preview release. That is, current features are available for trial use, however, they are subject to change or redesign based on feedback from early users. In addition, ongoing development may include additional features and options in future releases to increase compatibility with the current openCypher language specification.
The documentation provided here describes compatibility of the AnzoGraph Cypher implementation compared to the Cypher language as described in the openCypher community group's Cypher Query Language Reference. See the openCypher Resource page available at https://www.opencypher.org/resources/. An Acrobat PDF copy of the Version 9 Cypher Query Language Reference is available at:
Individual sections of the documentation follows the topic order and description of Cypher language elements as defined in the Cypher Query Language Reference:
- Cypher Language Overview – description of the Cypher graph data model, using Cypher in AnzoGraph, syntax and language statement conventions, and basic limitations or restrictions.
- Cypher Patterns – patterns that define the shape of data to match in a query.
- Cypher Types, Lists, and Maps – supported property, structural, and composite data types.
- Comparability, Equality, Orderability, and Equivalence – rules controlling comparison of data values for pattern matching and data result ordering and aggregation.
- Cypher Expressions, Variables, and Parameters – allowed expression data types, variables, operators, and special characters.
- Cypher Operators – operator types and keywords.
- Cypher Clauses – clauses for reading and writing data and specifying patterns.
- Cypher Functions – supported functions arranged by different categories.
Portions of the original Cypher Query Language reference have also been included here for purposes of comparison to note any limitations, restrictions, or exceptions in the AnzoGraph Cypher implementation. Typically, comparisons to the Cypher Query language specification are described as Supported, Partially Supported, and Not Supported. Examples included in this documentation also reference the graph data from the original Neo4j Movie dataset. The section Working with Cypher and the Movies Graph Database provides an executable script you can use to replicate the data in AnzoGraph.