分发

驱动程序模块和依赖项

该驱动程序包含 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 上分发。这些捆绑包具有不同的特性:根据您的用例或环境,您可以选择其中一个捆绑包,但不能同时选择两者。

独立组件

如果您有一个使用依赖项管理的应用程序,并且您无需自己处理二进制工件,请选择此分发版。

我们提供一个 Maven BOM 项目,在使用各个模块时应导入该项目,以便始终拥有一致的版本集。其坐标为 org.neo4j:neo4j-jdbc-bom

对于 Maven,请使用此依赖项声明

列表 2. 核心 Neo4j JDBC 驱动程序工件的 Maven 依赖项
<dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j-jdbc</artifactId>
    <version>6.5.1</version>
</dependency>

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

列表 3. 作为 Gradle 运行时依赖项的 Neo4j JDBC 驱动程序
dependencies {
    runtimeOnly 'org.neo4j:neo4j-jdbc:6.5.1'
}

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

列表 4. 默认 SQL 到 Cypher 转换器的 Maven 依赖项
<dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j-jdbc-translator-impl</artifactId>
    <version>6.5.1</version>
</dependency>

以及相同的坐标,但适用于 Gradle

列表 5. 默认 SQL 到 Cypher 转换器的 Gradle 依赖项
dependencies {
    runtimeOnly 'org.neo4j:neo4j-jdbc-translator-impl:6.5.1'
}

小型捆绑包

如果您使用 ETL 工具或关系数据库工具,并且这些工具只允许将 JDBC 驱动程序添加为单个工件或使得添加额外 jar 文件变得不必要的困难,请选择此分发版。此捆绑包不包含默认的 SQL 到 Cypher 转换器!此捆绑包的坐标是 org.neo4j:neo4j-jdbc-bundle,您可以从 Maven Central 下载它

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

完整捆绑包

此捆绑包包含默认的 SQL 到 Cypher 转换器。否则,它与小型捆绑包相同。其坐标是 org.neo4j:neo4j-jdbc-full-bundle,您可以从 Maven Central 下载它,网址为

text2cypher 捆绑包

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

有关更多信息,请参阅text2cypher