• Stars
    star
    194
  • Rank 200,219 (Top 4 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created about 13 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Java DSL (Builder) for the Cypher Query Language

The Neo4j Cypher-DSL

badge measure?project=org measure?project=org Maven Central

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 Neo4j 4.0+. Most of the constructs used here are modelled after 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 CalVer in the same way Spring does since early 2020 (see Updates to Spring Versions), starting at 2020.0.0.

Manual

For a gentle introduction and some getting started guides, please use our Manual.

Getting Started

Adding the necessary dependencies

First, include the dependency to the Neo4j Cypher-DSL under the following coordinates: org.neo4j:neo4j-cypher-dsl:

Maven configuration

Inclusion of the Neo4j Cypher-DSL in a Maven project
<dependency>
	<groupId>org.neo4j</groupId>
	<artifactId>neo4j-cypher-dsl</artifactId>
	<version>2023.3.1</version>
</dependency>

Gradle configuration

Inclusion of the Neo4j Cypher-DSL in a Gradle project
dependencies {
    implementation 'org.neo4j:neo4j-cypher-dsl:2023.3.1'
}

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:

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 Apache License 2.0, the parser module is licensed under the GNU General Public License 3.

More Repositories

1

neo4j

Graphs for Everyone
Java
13,266
star
2

NaLLM

Repository for the NaLLM project
TypeScript
1,253
star
3

neo4j-python-driver

Neo4j Bolt driver for Python
Python
898
star
4

neo4j-javascript-driver

Neo4j Bolt driver for JavaScript
JavaScript
853
star
5

neo4j-browser

Neo4j Browser is the general purpose user interface for working with Neo4j. Query, visualize, administrate and monitor the database.
TypeScript
690
star
6

graph-data-science

Source code for the Neo4j Graph Data Science library of graph algorithms.
Java
629
star
7

graphql

A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations.
TypeScript
504
star
8

neo4j-go-driver

Neo4j Bolt Driver for Go
Go
494
star
9

docker-neo4j

Docker Images for the Neo4j Graph Database
Shell
333
star
10

neo4j-ogm

Java Object-Graph Mapping Library for Neo4j
Java
332
star
11

neo4j-java-driver

Neo4j Bolt driver for Java
Java
329
star
12

neo4j-spark-connector

Neo4j Connector for Apache Spark, which provides bi-directional read/write access to Neo4j from Spark, using the Spark DataSource APIs
Scala
313
star
13

neo4j-dotnet-driver

Neo4j Bolt driver for .NET
C#
231
star
14

graph-data-science-client

A Python client for the Neo4j Graph Data Science (GDS) library
Python
191
star
15

neo4j-graphrag-python

Neo4j GraphRAG for Python
Python
172
star
16

neo4j-jdbc

Official Neo4j JDBC Driver
Java
135
star
17

neo4j-documentation

Scala
103
star
18

apoc

Java
94
star
19

cypher-shell

Cypher Shell has moved to https://github.com/neo4j/neo4j
Java
89
star
20

trillion-graph

A scale demo of Neo4j Fabric spanning up to 1129 machines/shards running a 100TB (LDBC) dataset with 1.2tn nodes and relationships.
Java
89
star
21

docker-neo4j-publish

Shell
83
star
22

sdn-rx

Nextgen Spring Data module for Neo4j supporting (not only) reactive data access and immutable support
Java
65
star
23

helm-charts

Go
59
star
24

cypher-builder

A library for building Cypher queries for Neo4j programmatically.
TypeScript
50
star
25

cypher-editor

Codemirror editor for Cypher, with syntax awareness and auto-completion
JavaScript
42
star
26

neo4j-java-driver-spring-boot-starter

Automatic configuration of Neo4j's Java Driver for Spring Boot applications
Java
33
star
27

cypher-language-support

Neo4j's Cypher Language support
TypeScript
31
star
28

neo4j-example-auth-plugins

Example authentication and authorization plugins for Neo4j
Java
17
star
29

neo4j-ogm-quarkus

Quarkus extension to that allows proper usage of Neo4j-OGM inside Quarkus.
Java
13
star
30

neo4j-python-driver-rust-ext

Optional Rust Extensions to Speed Up the Python Driver
Python
13
star
31

graphql-tracker-temp

This is a temporary repository for documentation and tracking issues for the @neo4j/graphql package until that repo is made public
12
star
32

docs-cypher

Neo4j Cypher Documentation
JavaScript
12
star
33

graph-schema-introspector

This is a Proof of concept (PoC) for a Neo4j schema introspector that produces output in JSON format validating against graph-schema-json-js-utils.
Java
11
star
34

docs-drivers

Neo4j Drivers Documentation
Python
10
star
35

windows-wrapper

A service wrapper for windows
Java
9
star
36

docs-bolt

Neo4j Bolt Protocol Documentation
JavaScript
7
star
37

neo4j.github.com

Web published resources
HTML
7
star
38

dappr

Distributed Approximate Personalised PageRank
Jupyter Notebook
6
star
39

docs-operations

Neo4j Operations documentation
JavaScript
6
star
40

docs-getting-started

JavaScript
6
star
41

jsr311-api

Forked from revision 612
Java
6
star
42

docs-graphql

GraphQL docs
JavaScript
5
star
43

doctools

Perl
5
star
44

graph-schema-json-js-utils

Utility library to work with the Graph Schema JSON representation
TypeScript
5
star
45

docs-aura

Jupyter Notebook
5
star
46

kafka-connector-workshop

TypeScript
4
star
47

neo4j-kafka-connector

Neo4j Kafka Connector
Kotlin
4
star
48

graphql-toolbox

TypeScript
4
star
49

github-action-traceability

TypeScript
4
star
50

docs-status-codes

Documentation for Neo4j status codes
JavaScript
4
star
51

parents

Neo4j Build Configuration
4
star
52

neo4j-aws-terraform

HCL
3
star
53

docs-http-api

Documentation for Neo4j HTTP API
JavaScript
3
star
54

jbang-catalog

JBang catalog
Java
2
star
55

import-spec

Java
2
star
56

docs-maven-plugin

Java
2
star
57

ease-maven-plugin

Java
2
star
58

license-maven-plugin

Fork of http://code.google.com/p/maven-license-plugin/
Java
2
star
59

maven-skin

Neo4j Maven Skin
Java
2
star
60

docs-bloom

JavaScript
1
star
61

docs-data-importer

JavaScript
1
star
62

azure-neo4j

Azure topology files
Shell
1
star
63

clirr-maven-plugin

Java
1
star
64

neo4jtester

neo4j tester
Go
1
star
65

docs-genai-tutorials

Python
1
star
66

docs-ops-manager

JavaScript
1
star