安装

要开始创建 Neo4j Go 应用程序,您首先需要安装 Go 驱动程序并获取要连接到的 Neo4j 数据库实例。

安装驱动程序

如果您是从头开始,第一步是初始化一个 Go 模块。您可以通过创建目录、进入目录并使用 go mod init 来做到这一点。

mkdir neo4j-app
cd neo4j-app
go mod init neo4j-app

在模块内部,使用 go get 安装 Neo4j Go 驱动程序

go get github.com/neo4j/neo4j-go-driver/v5

始终使用最新版本的驱动程序,因为它始终可以与以前的 Neo4j LTS 版本以及当前和下一个主要版本一起使用。最新的 5.x 驱动程序支持连接到任何 Neo4j 5 和 4.4 实例,并且也将与 Neo4j 6 兼容。有关跨版本的详细更改列表,请参阅 驱动程序的更改日志

Neo4j Go 驱动程序与任何 正式维护的 Go 版本 兼容(并需要)。

获取 Neo4j 实例

您需要一个正在运行的 Neo4j 数据库才能使用驱动程序。启动本地实例的最简单方法是通过 Docker 容器(需要 docker.io)。以下命令在 Docker 中运行最新的 Neo4j 版本,将管理员用户名设置为 neo4j,将密码设置为 secretgraph

docker run \
   -p7474:7474 \                       # forward port 7474 (HTTP)
   -p7687:7687 \                       # forward port 7687 (Bolt)
   -d \                                # run in background
   -e NEO4J_AUTH=neo4j/secretgraph \   # set login credentials
   neo4j:latest

或者,您可以通过 Aura 获取免费的云实例

您还可以 在您的系统上安装 Neo4j,或使用 Neo4j 桌面版 创建本地开发环境(不适用于生产环境)。

词汇表

LTS

长期支持版本是保证支持若干年的版本。Neo4j 4.4 是 LTS,Neo4j 5 也将有一个 LTS 版本。

Aura

Aura 是 Neo4j 的完全托管云服务。它提供免费和付费计划。

Cypher

Cypher 是 Neo4j 的图查询语言,可让您从数据库中检索数据。它类似于 SQL,但适用于图。

APOC

Cypher 上的优秀过程 (APOC) 是一个(许多)函数库,这些函数本身无法在 Cypher 中轻松表达。

Bolt

Bolt 是用于 Neo4j 实例和驱动程序之间交互的协议。默认情况下,它侦听端口 7687。

ACID

原子性、一致性、隔离性、持久性 (ACID) 是保证数据库事务可靠处理的属性。符合 ACID 的 DBMS 确保数据库中的数据在发生故障时仍然准确且一致。

最终一致性

如果数据库保证所有集群成员将在某个时间点存储数据的最新版本,则该数据库最终一致。

因果一致性

如果读写查询按相同的顺序由集群的每个成员看到,则数据库因果一致。这比最终一致性更强。

NULL

空标记不是类型,而是值不存在的占位符。有关更多信息,请参阅 Cypher → 使用null

事务

事务是工作单元,要么完全提交,要么在发生故障时回滚。例如银行转账:它涉及多个步骤,但它们必须全部成功或被撤消,以避免从一个账户中扣除资金但没有添加到另一个账户中。

背压

背压是反对数据流动的力量。它确保客户端不会被超出其处理能力的数据所淹没。

事务函数

事务函数是 ExecuteReadExecuteWrite 调用执行的回调。如果服务器发生故障,驱动程序会自动重新执行回调。

DriverWithContext

DriverWithContext 对象保存建立与 Neo4j 数据库连接所需的详细信息。