# cypher-dsl **Repository Path**: HALOBING/cypher-dsl ## Basic Information - **Project Name**: cypher-dsl - **Description**: cypher-dsl - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-14 - **Last Updated**: 2023-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README = The Neo4j Cypher-DSL :sectanchors: // tag::properties[] :groupId: org.neo4j :artifactId: neo4j-cypher-dsl // This will be next version and also the one that will be put into the manual for the main branch :neo4j-cypher-dsl-version: 2023.3.2-SNAPSHOT // This is the latest released version, used only in the readme :neo4j-cypher-dsl-version-latest: 2023.3.1 // end::properties[] image:https://github.com/neo4j-contrib/cypher-dsl/workflows/build/badge.svg[link=https://github.com/neo4j-contrib/cypher-dsl/actions] image:https://sonarcloud.io/api/project_badges/measure?project=org.neo4j%3Aneo4j-cypher-dsl-parent&metric=coverage[link=https://sonarcloud.io/summary/new_code?id=org.neo4j%3Aneo4j-cypher-dsl-parent] image:https://sonarcloud.io/api/project_badges/measure?project=org.neo4j%3Aneo4j-cypher-dsl-parent&metric=alert_status[link=https://sonarcloud.io/dashboard?id=org.neo4j%3Aneo4j-cypher-dsl-parent] image:https://maven-badges.herokuapp.com/maven-central/org.neo4j/neo4j-cypher-dsl/badge.svg[Maven Central,link=http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.neo4j%22%20AND%20a%3A%22neo4j-cypher-dsl%22] [abstract] -- The Neo4j Cypher-DSL in its current form is a spin-off from Spring Data Neo4j 6+ (né Spring Data Neo4j⚡️RX), where it is used to generate all Cypher queries. We thank all contributors to all branches prior to 2020.0 for their effort in creating the previous versions. -- The primary goal of this project is to have a type safe way of creating Cypher queries targeted at https://neo4j.com[Neo4j 4.0+]. Most of the constructs used here are modelled after https://www.opencypher.org[openCypher], but we include several constructs specific to Neo4j. The core module of the Neo4j Cypher-DSL has no required runtime dependencies. == Versioning This rebooted version of the Neo4j Cypher-DSL uses https://calver.org[CalVer] in the same way Spring does since early 2020 (see https://spring.io/blog/2020/04/30/updates-to-spring-versions[Updates to Spring Versions]), starting at _2020.0.0_. == Manual For a gentle introduction and some getting started guides, please use our https://neo4j-contrib.github.io/cypher-dsl[Manual]. == Getting Started === Adding the necessary dependencies First, include the dependency to the Neo4j Cypher-DSL under the following coordinates: `{groupId}:{artifactId}`: ==== Maven configuration [source,xml,subs="verbatim,attributes"] .Inclusion of the Neo4j Cypher-DSL in a Maven project ---- {groupId} {artifactId} {neo4j-cypher-dsl-version-latest} ---- ==== Gradle configuration [source,groovy,subs="verbatim,attributes"] .Inclusion of the Neo4j Cypher-DSL in a Gradle project ---- dependencies { implementation '{groupId}:{artifactId}:{neo4j-cypher-dsl-version-latest}' } ---- === A simple example With the Cypher-DSL, you can build your queries starting with the static methods provided through `org.neo4j.cypherdsl.core.Cypher`. Static imports for those packages should be allowed: [source,java,tabsize=4] ---- import static org.neo4j.cypherdsl.core.Cypher.*; import org.neo4j.cypherdsl.core.Cypher; class SimpleExample { public static void main(String... a) { var m = node("Movie").named("m"); var statement = Cypher.match(m) .returning(m) .build(); System.out.println(statement.getCypher()); // Prints MATCH (m:`Movie`) RETURN m } } ---- === Required Java Version From version 2023.0.0 onwards, the minimal required Java version to use and build the Cypher-DSL is *Java 17*. If you need a version that is compatible with Java 8, please use 2022.8.x. == Licensing The Cypher-DSL itself is licenced under the https://www.apache.org/licenses/LICENSE-2.0[Apache License 2.0], the parser module is licensed under https://www.gnu.org/licenses/gpl-3.0.html[the GNU General Public License 3].