简介
这是 GraphQL 库版本 6 的文档。有关长期支持 (LTS) 版本 5,请参阅 GraphQL 库版本 5 LTS. |
Neo4j GraphQL 库是一个高度灵活、低代码的开源 JavaScript 库,它通过利用连接数据的强大功能,使跨平台和移动应用程序的快速 API 开发成为可能。
使用 Neo4j 作为图数据库,GraphQL 库使应用程序能够轻松地将数据从前端到存储以图的形式进行本地处理。这避免了重复的模式工作,并确保了前端和后端开发人员之间的无缝集成。
如果您是 Neo4j 和 GraphQL 的新手,请查看 创建一个新项目 和 Neo4j GraphQL 工具箱 以了解 Neo4j GraphQL 库的基础知识以及如何创建由 Neo4j 图数据库支持的 GraphQL API。
GRANDstack 启动应用程序已弃用。有关更多信息,请阅读有关 弃用 的部分。 |
工作原理
Neo4j GraphQL 库需要一组类型定义,这些类型定义描述了图数据的形状。它可以生成一个完整的可执行模式,其中包含执行查询和变更以与 Neo4j 数据库交互所需的所有附加类型。
对于针对此生成的模式执行的每个查询和变更,Neo4j GraphQL 库都会生成单个 Cypher 查询,该查询将针对数据库执行。这消除了 N+1 问题,该问题会使 GraphQL 实现变慢且效率低下。
交互
在 入门 指南中,Apollo Server 用于托管 GraphQL 模式,因此您可以直接与 API 交互,而无需前端。如果您更喜欢使用前端框架,以下是一些与 GraphQL API 交互的客户端
-
React - 通过 Apollo Client 支持
-
Vue.js - 通过 Vue Apollo 支持
-
AngularJS - 通过 Apollo Angular 支持。
版本控制
Neo4j GraphQL 库使用 语义版本控制。给定一个版本号 MAJOR.MINOR.PATCH
,增量基于
-
MAJOR
- 与上一个MAJOR
版本相比,API 不兼容更改,您可能需要迁移 -
MINOR
- 已添加新功能,向后兼容 -
PATCH
- 已添加错误修复,向后兼容。
此外,预发布版本号可能具有额外的后缀,例如 MAJOR.MINOR.PATCH-PRERELEASE.NUMBER
,其中 PRERELEASE
是以下之一
-
alpha
- 不稳定的预发布工件,并且 API 在此阶段的发布之间可能会发生变化 -
beta
- 功能完整的预发布工件,比alpha
发布更稳定,但可能仍然包含错误 -
rc
- 发布候选版本,包括要提升到稳定发布的工件,以最后努力查找尾随错误。
后缀中的 NUMBER
只是每个阶段的递增发布号。
要求
-
当您使用
@vector
指令 时,Neo4j 版本 5.15 或更高版本。 -
Node.js 20+.