Neo4j Labs

Neo4j Labs

孵化下一代
图开发者工具

什么是 Neo4j Labs?

Neo4j Labs 是图技术最新创新成果的集合。这些项目由 Neo4j 团队设计和开发,旨在测试我们产品的功能和扩展。一个项目通常会毕业并成为一个正式的 Neo4j 项目,或者随着源代码公开发布而被弃用。

这些 Labs 通过在线社区提供支持。它们处于积极的开发和维护状态,但我们不提供任何关于向后兼容性和弃用的 SLA 或保证,请参阅下面的常见问题解答。

当前项目

GenAI 生态系统

Neo4j 集成了 GenAI 生态系统中的许多库(LangChain、LlamaIndex、Haystack、Spring-AI),使构建和部署知识图谱驱动的 GenAI 应用程序变得更加容易。大多数集成都结合了向量和图搜索来提高典型生成式 AI 任务的质量和准确性,还可以用于从非结构化数据构建知识图谱。

LLM 知识图谱构建器

知识图谱构建器允许用户通过使用 LLM 进行提取、额外的后处理以及 GraphRAG 问题解答(图检索增强生成)和可解释性,从非结构化数据(文本文件、PDF、文档、网页)构建知识图谱。它允许您使用 GenAI 启动您的图之旅。构建的图谱可用于构建应用程序或获取见解。

arrows.app

一个基于 Web 的工具,用于绘制美观的图和图模型图片。请在 arrows.app 上试用。

Cypher 上的优秀过程 (APOC)

作为 Neo4j 最全面的开发者工具包,APOC 库提供了广泛的过程和函数,使您作为 Neo4j 用户的生活更加轻松。APOC 包括数据集成、图重构、数据转换、操作功能等。

从 Neo4j 5 开始,APOC 核心已迁移到产品中,而具有较少使用/更复杂功能的 apoc-extended 则作为实验室项目保留,请注意,插件 jar 文件和文档也已拆分为两个附加集。

ETL 工具

拥有一个将数据从关系数据库加载到 Neo4j 的简单方法是许多用户采取的第一步。 Neo4j-ETL 工具 通过从关系元模型推断图模型来简化此过程,然后您可以根据需要对其进行调整。鉴于这种转换,此工具还为您处理实际的导入。要交互式地建模和导入 CSV 文件,请查看 Neo4j 数据导入器

Liquibase Neo4j 插件

Liquibase 是一个用于跟踪、管理和应用数据库模式更改的开源项目。 Liquibase Neo4j 插件 允许您定义和执行针对 Neo4j 的更改,并支持 Liquibase 支持的所有功能。

Neo4j 迁移

Neo4j 迁移 是一组工具,旨在使您的模式迁移尽可能简单。它为应用程序、命令行和构建工具提供了一种统一的方式来跟踪、管理和应用对数据库的更改。它在很大程度上受到 FlywayDB 的启发,因此大多数内容都围绕 Cypher 脚本展开。Neo4j 迁移直接构建在官方 Neo4j-Java-Driver 之上,支持从 3.5 到 4.4 的 Neo4j,包括企业功能,如多数据库支持和模拟。

Neosemantics

Neosemantics 将 RDF 和链接数据与 Neo4j 集成。它允许导入各种 RDF 格式,并将 Neo4j 属性图公开为链接数据。本体和推理也得到部分支持。

Rdflib-Neo4j

通过使用著名的 RDFLib 库(由 Neo4j 存储的实现支持)将 Neo4j 与 RDF 和链接数据集成。它为云原生 Neo4j 部署提供了 Neosemantics 的客户端替代方案。

NeoDash

NeoDash 是 Neo4j 的一个开源、低代码仪表板构建器。它允许您使用表格、图形、条形图、折线图、地图等构建交互式仪表板。

neomodel

neomodel 是 Python 和 Neo4j 的对象图映射器 (OGM)。它允许您以 Pythonic 的方式定义图数据库模型,然后访问和编辑数据,而无需编写 Cypher 查询。

Needle 启动套件

Needle 启动套件 是一个 React 框架,用于使用 Neo4j Needle 设计语言快速构建应用程序。

Aura CLI

Aura CLI 是一个命令行界面,用于通过公共 Aura API 与 Aura 云平台交互。它允许您从命令行创建和管理实例。

Cypher 工作台

Cypher 工作台 Cypher 工作台提供了一套基于 Web 的开发图工具。它包括用于数据建模、Cypher 构建和调试、验证等工具。最初是一个 SaaS 产品,现在代码已发布,因此您可以在本地环境中运行它。

Keymaker

Keymaker 包含一个界面,允许用户使用 Cypher 构建分析管道(或引擎),并自动通过 GraphQL API 端点提供分析管道的结果。

Spatial

Neo4j-Spatial 是一个库,用于简化在 Neo4j 中导入、存储和查询空间数据。

其他活跃项目

  • Neovis.js,一个用于 Web 的图可视化工具包,最初是一个实验室项目,但现在已转移到一个社区维护的项目。

毕业项目

以下项目在 Neo4j Labs 中成功开发、孵化和验证,并已毕业成为官方且受支持的 Neo4j 产品,可用于大规模生产使用。

Neo4j-Helm

Neo4j-Helm 受到广泛采用,并为Neo4j 的官方 Kubernetes 支持提供了重要的经验教训和见解。使用 Kubernetes 的 Helm 包管理器,可以轻松指定 Neo4j 的高级配置(独立和集群),并在许多云平台上使用 Kubernetes 运行它们。

GraphQL 和 GRANDstack

GraphQL 已成为 API 开发和整合的完整技术栈,其基础工作是作为数据库插件,以及用于将 GraphQL 转换为 Cypher 的 JavaScript 和 Java 库。实验室项目为官方的 Neo4j GraphQL 库奠定了基础。

GRANDstack 和 Neo4j-GraphQL-js 产品组合了最常用的工具和框架:GraphQL、React、Apollo 和 Neo4j 数据库。鉴于还有许多其他前端库和技术栈可用,Neo4j GraphQL 库专注于后端 API,并提供与流行技术栈集成的方案。

图数据科学库

为了实现大规模图分析并支持机器学习管道,我们开发了 Neo4j 图算法库,其中涵盖了许多广泛使用的算法。该库提供了高度并行的实现,非常适合处理大规模图。它已毕业,现在作为 图数据科学库的一部分,包含在 Neo4j 图平台中。您可以从 Neo4j 实验室获取 教育内容

Neo4j Apache Kafka 连接器

流式事件数据是大多数现代数据架构中不可或缺的一部分。借助 Neo4j Apache Kafka 连接器,您可以将 Neo4j 集成到您的设置中,作为接收器或发送器。该集成以 Kafka Connect 插件和 Neo4j 服务器扩展的形式提供。它作为生态系统连接器获得官方支持。

Neo4j Apache Spark 连接器

Apache Spark 中的数据处理非常普遍,并且在所有云平台上都可用。借助 Neo4j Apache Spark 连接器,您可以从 Spark 作业读取和写入 Neo4j。它基于新的 DataSource API 构建,支持 Python、R 和 Scala 的使用。它作为生态系统连接器获得官方支持。

Neo4j Docker 容器

Neo4j Docker 容器 最初是实验室项目,旨在探索 Neo4j 在容器化环境中的运行情况。它们迅速获得了普及,并被 Neo4j 和客户广泛使用,因此我们已将其升级为 Neo4j 发布分发版的官方组成部分。

Halin 监控应用

Halin 监控应用 允许您监控 Neo4j 部署并识别瓶颈或错误配置,并深入了解当前正在运行的查询和工作负载。该应用还提供了对指标和日志的访问。截至 2022 年,其部分功能已集成到 Neo4j Operations Manager 中,因此 Halin 已停止维护。

常见问题

这些项目在生产环境中安全吗?

当前的 Neo4j 实验室项目正在由我们的工程师积极开发,可能还存在一些问题,API 可能会发生变化,因为它们处于开发的最前沿。因此,我们无法为这些项目提供官方的商业支持或保证其长期可用性。但是,一些 Neo4j 客户和用户仍然喜欢这些项目的功能,并选择在生产环境中继续使用它们。

我能否获得帮助?

虽然 Neo4j 不提供实验室项目的支持,但您可以从 Neo4j 专业服务团队获得帮助,该团队是许多实验室项目的贡献者。虽然 PS 团队无法提供具有 SLA 的产品支持,但他们可以帮助您扩展实验室项目的代码,提高代码的稳定性和一致性,并帮助您安装、配置和扩展实验室技术。

如何贡献?

我们欢迎为那些属于开源项目的实验室项目做出贡献。您可以在其中找到 GitHub 存储库的链接 - 请随时提交 PR。我们还在 community.neo4j.com上为实验室创建了一个讨论类别。

哪些 Neo4j 实验室项目已弃用?

MongoDB 文档管理器和 Cassandra 连接器均已弃用。源代码仍然可以在 GitHub 上找到,但我们发现大多数开发人员可以通过使用 APOC、Kafka 和其他技术来实现类似的目标。