|| 简介 - Neo4j GraphQL 库 - Neo4j 文档

简介

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 交互的客户端。

部署

有许多方法可以部署 GraphQL API。在 入门 指南中,Apollo Server 用于演示。您可以查看他们自己的关于 部署 的文档,以获取更多详细信息。

版本控制

Neo4j GraphQL 库使用 语义版本控制。给定一个版本号 MAJOR.MINOR.PATCH,增量基于

  • MAJOR - 与之前的 MAJOR 版本相比,API 发生了不兼容的更改,您可能需要迁移才能使用该版本

  • MINOR - 添加了新的功能,但向后兼容

  • PATCH - 添加了错误修复,但向后兼容。

此外,预发布版本号可能会有额外的后缀,例如 MAJOR.MINOR.PATCH-PRERELEASE.NUMBER,其中 PRERELEASE 是以下之一

  • alpha - 不稳定的预发布工件,并且 API 在此阶段的发布之间可能会发生变化

  • beta - 功能完整的预发布工件,比 alpha 版本更稳定,但可能仍包含错误

  • rc - 发布候选版本,包括要升级到稳定版本的工件,作为最后努力查找尾随错误。

后缀中的 NUMBER 只是每个阶段的递增发布号。

要求

  1. Neo4j 数据库 版本 4.4 或更高版本,包含 APOC 插件。

  2. 当您使用 @vector 指令 时,Neo4j 版本 5.15 或更高版本。

  3. Node.js 16+.

许可证

文档许可证:知识共享 4.0

来源:Apache 2.0

© . This site is unofficial and not affiliated with Neo4j, Inc.