安装

要创建 Neo4j JavaScript 应用程序,您首先需要安装 JavaScript 驱动并获取一个 Neo4j 数据库实例以进行连接。

安装驱动程序

使用 npm 安装 Neo4j JavaScript 驱动(需要 npm 和任意 LTS 版本的 node.js

npm i neo4j-driver

驱动的最新版本可确保兼容 Neo4j 服务器的所有 LTS 发行版,以及当前和下一个主要发行版。最新的 6.x 驱动支持连接到版本为 4.4、5.x 和 2025.x 的 Neo4j 实例。有关各版本之间更改的详细列表,请参阅 驱动的更改日志

还有一个 精简版 的 Neo4j JavaScript 驱动,它具备与常规驱动相同的功能,但不支持 Reactive API。您可以使用 npm i neo4j-driver-lite 进行安装。

引入驱动

除非您打算在 网页浏览器中使用驱动,否则您将在 Node.js 或 TypeScript 应用程序中使用 JavaScript 驱动。要在应用程序中引入驱动,请使用 require

const neo4j = require('neo4j-driver')

获取 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 (长期支持版)

长期支持 (Long Term Support) 版本是保证在若干年内得到支持的版本。Neo4j 4.4 和 5.26 是 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

空标记不是一种类型,而是缺失值的占位符。更多信息,请参阅 Cypher → 使用 null

事务

事务是一个工作单元,要么被提交,要么在失败时被回滚。例如银行转账:它涉及多个步骤,但它们必须全部成功或全部撤销,以避免钱从一个账户扣除却未存入另一个账户的情况。

背压

背压是对数据流的抵抗力。它确保客户端不会被过快发送的数据压垮,从而超出其处理能力。

书签

书签是代表数据库某种状态的标记。通过将一个或多个书签与查询一起传递,服务器将确保在所表示的状态建立之前,该查询不会被执行。