All Projects → neo4j-contrib → Cypher Dsl

neo4j-contrib / Cypher Dsl

Licence: apache-2.0
A Java DSL for the Cypher Query Language

Programming Languages

java
68154 projects - #9 most used programming language
dsl
153 projects

Projects that are alternatives of or similar to Cypher Dsl

Neo4j Graphql Js
A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations.
Stars: ✭ 585 (+404.31%)
Mutual labels:  cypher, neo4j
Neovis.js
Neo4j + vis.js = neovis.js. Graph visualizations in the browser with data from Neo4j.
Stars: ✭ 748 (+544.83%)
Mutual labels:  cypher, neo4j
Neo4j Python Driver
Neo4j Bolt driver for Python
Stars: ✭ 607 (+423.28%)
Mutual labels:  cypher, neo4j
gogm
Golang Object Graph Mapper for Neo4j
Stars: ✭ 71 (-38.79%)
Mutual labels:  neo4j, cypher
Neo4j Helm
Helm Charts for running Neo4j on Kubernetes
Stars: ✭ 43 (-62.93%)
Mutual labels:  cypher, neo4j
Neode
Neo4j OGM for Node.js
Stars: ✭ 276 (+137.93%)
Mutual labels:  cypher, neo4j
Stock Knowledge Graph
利用网络上公开的数据构建一个小型的证券知识图谱/知识库
Stars: ✭ 1,182 (+918.97%)
Mutual labels:  cypher, neo4j
legis-graph
ETL scripts for loading US Congressional data from govtrack.us into Neo4j
Stars: ✭ 48 (-58.62%)
Mutual labels:  neo4j, cypher
Scala Cypher Dsl
A type-safe Cypher Query Language DSL for Scala.
Stars: ✭ 34 (-70.69%)
Mutual labels:  cypher, neo4j
R2d2 Cypher
Cypher support for the r2d2 connection pool
Stars: ✭ 8 (-93.1%)
Mutual labels:  cypher, neo4j
Neo4j
Graphs for Everyone
Stars: ✭ 9,582 (+8160.34%)
Mutual labels:  cypher, neo4j
Cypher Stream
Neo4j Cypher queries as Node.js object streams
Stars: ✭ 58 (-50%)
Mutual labels:  cypher, neo4j
neo4rs
Neo4j driver for rust
Stars: ✭ 41 (-64.66%)
Mutual labels:  neo4j, cypher
Popoto
Visual query builder for Neo4j graph database
Stars: ✭ 318 (+174.14%)
Mutual labels:  cypher, neo4j
seabolt
Neo4j Bolt Connector for C
Stars: ✭ 37 (-68.1%)
Mutual labels:  neo4j, cypher
Neo4j Graph Algorithms
Efficient Graph Algorithms for Neo4j
Stars: ✭ 713 (+514.66%)
Mutual labels:  cypher, neo4j
Graph-OLAP
An attempt to model an OLAP cube with Neo4j.
Stars: ✭ 37 (-68.1%)
Mutual labels:  neo4j, cypher
neo4j-ml-procedures
This project provides procedures and functions to support machine learning applications with Neo4j.
Stars: ✭ 37 (-68.1%)
Mutual labels:  neo4j, cypher
Node Neo4j
[RETIRED] Neo4j graph database driver (REST API client) for Node.js
Stars: ✭ 935 (+706.03%)
Mutual labels:  cypher, neo4j
Neo4j Tableau
Neo4j Tableau Integration via WDC
Stars: ✭ 56 (-51.72%)
Mutual labels:  cypher, neo4j

= The Neo4j Cypher-DSL :sectanchors:

// tag::properties[] :groupId: org.neo4j :artifactId: neo4j-cypher-dsl

:neo4j-cypher-dsl-version: 2021.1.2-SNAPSHOT

// end::properties[]

image:https://img.shields.io/maven-central/v/org.neo4j/neo4j-cypher-dsl.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⚡️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 verions.

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} ----

==== 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}' }

=== 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

The minimal required Java version to use the Cypher-DSL core module is Java 8. The reason for staying on JDK 8 is the fact that the Cypher-DSL is widely used in https://github.com/spring-projects/spring-data-neo4j[Spring Data Neo4j 6+]. Spring Data Neo4j shares JDK 8 as baseline with the Spring Framework until Spring Framework 6 is released.

The minimal required JDK version to build the Cypher-DSL is JDK 11. To build the native examples, GraalVM 11 is required.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].