Neo4j 实验室
当前项目
生成式 AI (GenAI) 生态系统
Neo4j 与 GenAI 生态系统中的许多库(LangChain、LlamaIndex、Haystack、Spring-AI)集成,旨在简化构建和部署由知识图谱驱动的 GenAI 应用程序。大多数集成结合了向量搜索和图搜索,以提高典型生成式 AI 任务的质量和准确性,也可用于从非结构化数据构建知识图谱。
MCP 服务器
模型上下文协议 (MCP) 允许大语言模型 (LLM) 和智能体通过主动函数调用,轻松地将 API、数据库和许多其他功能整合到其架构中。Neo4j Labs MCP 服务器涵盖了多种功能,从执行 Cypher 或图算法,到图建模或管理 Aura 基础设施。
Neo4j 智能体记忆 (Agent Memory)
Neo4j 智能体记忆是一个用于 AI 智能体的基于图的记忆系统。它提供三种类型的记忆:短期记忆(对话上下文)、长期记忆(通过实体提取实现持久化知识)和推理(决策追踪)。所有这些都由 Neo4j 的图数据库提供支持,以实现丰富的关系建模和高效检索。该库与 LangChain、LlamaIndex、PydanticAI、CrewAI 和 OpenAI Agents 等主流框架集成。
LLM 知识图谱构建器
知识图谱构建器允许用户通过 LLM 进行提取、后续处理和具有可解释性的 GraphRAG(图检索增强生成)问答,从而从非结构化数据(文本文件、PDF、文档、网页)中构建知识图谱。它能助您利用 GenAI 开启图谱之旅。构建好的图谱随后可用于构建应用程序或获取洞察。
arrows.app
一个基于 Web 的工具,用于绘制美观的图和图模型。请访问 arrows.app 尝试一下。
Cypher 的卓越过程库 (APOC)
作为 Neo4j 最全面的开发者工具包,APOC 库提供了广泛的过程和函数,让 Neo4j 用户的工作更加轻松。APOC 包含数据集成、图重构、数据转换、运维功能等。
| 从 Neo4j 5 开始,APOC core 已迁移至产品中,而包含较少使用/更复杂功能的 apoc-extended 则作为 Labs 项目保留。请注意,插件 jar 文件和文档也已拆分为两组叠加集。 |
ETL 工具
如何轻松地将数据从关系数据库加载到 Neo4j,是许多用户迈出的第一步。Neo4j-ETL 工具通过从关系元模型推断图模型,并允许您根据需要进行调整,从而简化了这一过程。除了转换之外,该工具还为您处理实际的导入工作。如需交互式建模和导入 CSV 文件,请查看 Neo4j Data Importer。
Liquibase 的 Neo4j 插件
Liquibase 是一个用于跟踪、管理和应用数据库模式变更的开源项目。Liquibase 的 Neo4j 插件允许您针对 Neo4j 定义和执行变更,并支持 Liquibase 的所有特性。
Neo4j Aura Terraform 提供程序
Neo4j Aura Terraform 提供程序是一个 Neo4j Labs 工具,允许通过基础设施即代码 (IaC) 管理 Neo4j AuraDB 资源,主要关注通过声明式 Terraform 配置对 AuraDB 进行全生命周期管理。
Neo4j-Migrations
Neo4j-Migrations 是一套使您的模式迁移尽可能简单的工具。它为应用程序、命令行和构建工具提供了一种统一的方式来跟踪、管理和应用数据库变更。它在很大程度上受到了 FlywayDB 的启发,因此大多数操作都围绕 Cypher 脚本展开。Neo4j-Migrations 直接构建在官方 Neo4j-Java-Driver 之上,支持从 3.5 到 4.4 的 Neo4j 版本,并包含多数据库支持和模拟 (impersonation) 等企业级特性。
Neosemantics
Neosemantics 将 RDF 和关联数据与 Neo4j 集成。它允许导入各种 RDF 格式,并将 Neo4j 属性图作为关联数据发布。本体论和推理也得到了部分支持。
Rdflib-Neo4j
通过使用以 Neo4j 存储实现的著名 RDFLib 库,将 Neo4j 与 RDF 和关联数据集成。它为云原生 Neo4j 部署提供了一种客户端替代 Neosemantics 的方案。
neomodel
neomodel 是一个用于 Python 和 Neo4j 的对象图映射器 (OGM)。它允许您以 Pythonic 的方式定义图数据库模型,然后无需编写 Cypher 查询即可访问和编辑数据。
Needle 入门套件
Needle 入门套件是一个 React 框架,用于快速使用 Neo4j Needle 设计语言构建应用程序。
Cypher 工作台 (Cypher Workbench)
Cypher 工作台提供了一套基于 Web 的图开发工具。它包括用于数据建模、Cypher 构建和调试、验证等的工具。最初作为 SaaS 提供,现在代码已发布,以便您可以在本地环境中运行它。
Spatial
Neo4j-Spatial 是一个用于在 Neo4j 中导入、存储和查询空间数据的库。
其他活跃项目
-
Neovis.js,一个用于 Web 的图可视化工具包,最初是一个 Labs 项目,但现在已转为社区维护项目。
已毕业项目
以下项目在 Neo4j Labs 内成功开发、孵化和验证,并已毕业成为正式的、受支持的 Neo4j 产品,可用于大规模生产环境。
aura-cli
Aura CLI 是一个通过公共 Aura API 与 Aura 云平台交互的命令行界面。它允许您从命令行创建和管理实例。
Neo4j-Helm
Neo4j-Helm 获得了广泛采用,并为 Neo4j 的官方 Kubernetes 支持提供了重要的经验和见解。使用 Kubernetes 的 Helm 包管理器,可以简化指定 Neo4j(无论是单机还是集群)的高级配置,并在多个云平台的 Kubernetes 上运行它们。
GraphQL 和 GRANDstack
GraphQL 已成为 API 开发和整合的综合技术栈,其基础工作包括数据库插件、用于将 GraphQL 转换为 Cypher 的 JavaScript 和 Java 库。这些 Labs 项目为官方 Neo4j GraphQL 库奠定了基础。
GRANDstack 和 Neo4j-GraphQL-js 整合了最常用的工具和框架:GraphQL、React、Apollo 和 Neo4j 数据库。鉴于目前有更多可用的前端库和技术栈,Neo4j GraphQL 库专注于后端 API,并提供与主流技术栈集成的指南。
图数据科学 (GDS) 库
为了实现大规模图分析并支持机器学习管道,我们开发了 Neo4j 图算法库,涵盖了许多广泛使用的算法。该库提供了高度并行化的实现,非常适合大规模图处理。它已毕业,现在作为 图数据科学 (GDS) 库 成为 Neo4j 图平台的一部分。教育内容可从 Neo4j Labs 获取。
Neo4j Apache Kafka 连接器
流式事件数据是大多数现代数据架构不可或缺的一部分。使用 Neo4j Apache Kafka 连接器,您可以将 Neo4j 作为 Sink 或 Source 集成到您的架构中。该集成以 Kafka Connect 插件和 Neo4j 服务器扩展的形式提供。它作为生态系统连接器得到官方支持。
Neo4j Apache Spark 连接器
Apache Spark 中的数据处理非常普遍,并且在所有云平台上都可用。使用 Neo4j Apache Spark 连接器,您可以从 Spark 作业中读取和写入 Neo4j。它基于新的 DataSource API 构建,支持从 Python、R 和 Scala 调用。它作为生态系统连接器得到官方支持。
Neo4j Docker 容器
Neo4j Docker 容器最初是一个 Labs 项目,旨在探索 Neo4j 在容器化环境中的运行效果。它们迅速流行起来,并被 Neo4j 和客户广泛使用,因此我们将其毕业并使其正式成为 Neo4j 发布版本的一部分。
Halin 监控应用
Halin 监控应用允许您监控 Neo4j 部署情况,识别瓶颈或配置错误,并提供对当前正在运行的查询和工作负载的洞察。该应用还提供了对指标和日志的访问。截至 2022 年,其部分功能已集成到 Neo4j Operations Manager 中,因此 Halin 不再维护。
常见问题解答
这些项目可以安全地用于生产环境吗?
当前的 Neo4j Labs 项目正由我们的工程师积极开发。由于它们处于技术前沿,可能存在 API 变动等不完善之处。因此,我们无法为这些项目提供官方商业支持,也无法保证其长期存在。尽管如此,一些 Neo4j 客户和用户依然非常青睐这些项目的功能,并选择在生产环境中使用它们。
我可以获得帮助吗?
虽然 Neo4j 不为 Labs 项目提供官方支持,但您可以从 Neo4j 专业服务团队获得协助,他们也是许多 Labs 项目的贡献者。虽然 PS 团队无法提供带有 SLA 的产品支持,但他们可以帮助您扩展 Labs 项目的代码、改进代码稳定性/一致性,并协助安装、配置和扩展 Labs 技术。
我该如何贡献?
我们欢迎对开源 Labs 项目进行贡献。您可以找到 GitHub 仓库的链接,欢迎提交 Pull Request (PR)。我们还在 community.neo4j.com 上创建了 Labs 的讨论专区。