安装
要开始创建 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 4.4、5.x 和 2025.x 版本的实例。有关跨版本更改的详细列表,请参阅驱动程序的变更日志。
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 Desktop 创建本地开发环境(不适用于生产环境)。
术语表
- LTS
-
长期支持版本保证在未来几年内得到支持。Neo4j 4.4 是 LTS 版本,Neo4j 5 也将拥有一个 LTS 版本。
- Aura
-
Aura 是 Neo4j 的全托管云服务。它提供免费和付费计划。
- Cypher
-
Cypher 是 Neo4j 的图查询语言,可让您从数据库中检索数据。它类似于 SQL,但专用于图。
- APOC
-
Awesome Procedures On Cypher (APOC) 是一个包含许多无法在 Cypher 本身中轻松表达的函数的库。
- Bolt
-
Bolt 是 Neo4j 实例和驱动程序之间交互使用的协议。它默认监听端口 7687。
- ACID
-
原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)(ACID) 是保证数据库事务可靠处理的特性。符合 ACID 的 DBMS 确保数据库中的数据即使在发生故障时也能保持准确和一致。
- 最终一致性
-
如果数据库保证所有集群成员在某个时间点将存储最新版本的数据,则该数据库是最终一致的。
- 因果一致性
-
如果读写查询在集群的每个成员中都以相同的顺序可见,则数据库是因果一致的。这比最终一致性更强。
- NULL
-
null 标记不是一种类型,而是值缺失的占位符。欲了解更多信息,请参阅Cypher → 使用
null
。 - 事务
-
事务是工作的一个单元,它要么整体提交,要么在失败时回滚。一个例子是银行转账:它涉及多个步骤,但所有步骤都必须全部成功或被撤销,以避免资金从一个账户中扣除但未添加到另一个账户的情况。
- 背压
-
背压是阻碍数据流动的力。它确保客户端不会被超出其处理能力的数据所淹没。
- 事务函数
-
事务函数是由
ExecuteRead
或ExecuteWrite
调用执行的回调。在服务器故障的情况下,驱动程序会自动重新执行该回调。 - DriverWithContext
-
DriverWithContext
对象包含与 Neo4j 数据库建立连接所需的详细信息。