分发

驱动模块和依赖

驱动由 3 个模块组成

neo4j-jdbc

这是 Neo4j 的实际 JDBC 实现

neo4j-jdbc-translator-spi

这是默认 SQL 到 Cypher 翻译实现以及任何进一步或自定义实现的 SPI。

neo4j-jdbc-translator-impl

这是默认且 可选 的 SQL 到 Cypher 翻译器实现。它提供一种略带主观的方式,将 SQL 语句翻译为在语义上等价的 Cypher 语句。

如果您只想使用 Neo4j JDBC 驱动运行 Cypher® 语句,只需要模块 org.neo4j:neo4j-jdbc。只要在具有适当依赖管理的环境中开发,这就是您需要声明的全部内容。

虽然翻译器 SPI 是必需的依赖并会通过 Maven 或 Gradle 引入,但实际实现并不会被拉入。这允许:

  • 如果不需要 SQL 到 Cypher 翻译,可选择不添加额外依赖

  • 为我们的实现要求不同的 JDK 基线或许可模块

  • 让您可以创建替代翻译器

依赖

有两个“无依赖”模块,它们各自将所有内容打包成一个二进制制品。这些捆绑包覆盖了大量工具(参见 可用捆绑包)。

驱动的直接编译时依赖列在下方

示例 1. 核心驱动的依赖树
org.neo4j:neo4j-jdbc
+- io.github.cdimascio:dotenv-java
+- io.netty:netty-handler
|  +- io.netty:netty-common
|  +- io.netty:netty-resolver
|  +- io.netty:netty-buffer
|  +- io.netty:netty-transport
|  +- io.netty:netty-transport-native-unix-common
|  \- io.netty:netty-codec
+- org.neo4j:neo4j-cypher-dsl-schema-name-support
+- org.neo4j:neo4j-jdbc-translator-spi

可用捆绑包

Neo4j JDBC 驱动的所有捆绑包均在 Maven Central 分发。这些捆绑包具有不同特性:根据您的使用场景或环境,您可以选择其中一个捆绑包,但不能同时使用两个。

所有 Neo4j JDBC 驱动的发行版和功能都兼容 GraalVM 本地镜像

单独组件

如果您的应用程序使用适当的依赖管理,且无需自行处理单个构件及其依赖,请选择此发行版。

我们提供一个 Maven BOM 项目,使用单独模块时应导入它,以保持版本一致。坐标为 org.neo4j:neo4j-jdbc-bom

对于 Maven,请使用以下依赖声明

示例 2. 核心 Neo4j JDBC 驱动制品的 Maven 依赖
<dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j-jdbc</artifactId>
    <version>6.9.1</version>
</dependency>

对于 Gradle,您需要声明以下运行时依赖

示例 3. 将 Neo4j JDBC 驱动作为 Gradle 运行时依赖
dependencies {
    runtimeOnly 'org.neo4j:neo4j-jdbc:6.9.1'
}

如果您想使用 Neo4j 的 SQL 到 Cypher 翻译,需要在 Maven 构建中添加以下依赖

示例 4. 默认 SQL 到 Cypher 翻译器的 Maven 依赖
<dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j-jdbc-translator-impl</artifactId>
    <version>6.9.1</version>
</dependency>

对于 Gradle 则使用相同的坐标

示例 5. 默认 SQL 到 Cypher 翻译器的 Gradle 依赖
dependencies {
    runtimeOnly 'org.neo4j:neo4j-jdbc-translator-impl:6.9.1'
}

小捆绑包

如果您使用 ETL 工具或关系数据库工具,仅能以单个制品形式或难以添加额外 JAR 的方式添加 JDBC 驱动,请选择此发行版。此捆绑包不包含默认的 SQL 到 Cypher 翻译器!该捆绑包的坐标为 org.neo4j:neo4j-jdbc-bundle,可从 Maven Central 下载

所有捆绑包也可以作为普通项目依赖使用。例如,当您的项目依赖于不同的、可能冲突的 Netty 版本时,这会很有用。

完整捆绑包

此捆绑包包含默认的 SQL 到 Cypher 翻译器。除此之外,它与 小捆绑包 完全相同。坐标为 org.neo4j:neo4j-jdbc-full-bundle,可在此处从 Maven Central 下载

text2cypher 捆绑包

我们还提供一个非常实验性的捆绑包,名为 text2cypher

请参阅 text2cypher 获取更多信息。