logo
咨询企业版

周边工具

这个宝藏 org !有超多 NebulaGraph 实用工具~

01 关于 Nebula Contrib

Nebula Contrib 是由 NebulaGraph 社区贡献者(包括社区用户、独立开发者、合作伙伴)共同创建和维护的生态项目集合。为了解决实际使用中的小麻烦、探索新玩法,或者单纯想让大家用得更顺手,他们开发了相应的项目,并秉持“众人拾柴火焰高”的开源精神,将其贡献给社区,合入到 Nebula Contrib 中,NebulaGraph 官方会为这些项目提供一定的指导与支持,但主力军仍是这群可爱的社区贡献者。

02 Nebula Contrib 里的超赞项目

graph-ocean

👍项目发起人:@Anyzm

🔗GitHub:https://github.com/nebula-contrib/graph-ocean

📕graph-ocean 是一基于 nebula-java 客户端的 ORM 框架,其诞生源于实际业务中的痛点:Anyzm 就职于奇富科技,早期使用 NebulaGraph(v1.0.0) 时,Java 客户端是用枚举来呈列用到的 Tag 和 Edge 数据,而将 API 解析成 nGQL 的过程中也强依赖枚举,对业务代码侵入性强。因此 Anyzm 借鉴 JPA(Java Persistence API) 注解思想,设计了一套轻量级注解,将实体映射到数据库元素。

  • 基于注解将实体与 NebulaGraph 的顶点、边、属性自动映射,实现对象与图数据的双向转换。

  • 提供核心 API,支持顶点/边的增删改及查询操作,无需手动编写 nGQL 语句,直接操作 Java 对象即可。

  • 实体对应的元数据在首次解析后缓存,避免重复运行反射计算实体与 schema 的映射关系。

🥳一些小彩蛋

  • 奇富科技是 NebulaGraph 最早期的用户之一,在使用过 Neo4j、AgensGraph、JanusGraph 后,奇富科技于 2020 年 6 月使用刚发布的 NebulaGraph. 如今,NebulaGraph 仍被广泛应用于奇富科技的反欺诈、图挖掘、大数据血缘、图+大模型等多个核心场景。

  • 大家熟悉的论坛活跃用户@江一旺(Puto 交流群热心答疑助手@awang )也来自奇富科技,他也在 Nebula Contrib 下贡献了一款针对 JetBrains 的 Console 工具——nebula-console-intellij-plugin 2,支持 nGQL 语法高亮和关键字自动补全、数据表格分页显示、关系图展示等,可方便快捷操作 NebulaGraph.

NgBatis

👍项目发起人:@CurvusY

🔗GitHub:https://github.com/nebula-contrib/ngbatis

📕NgBatis 是针对 NebulaGraph+ Springboot 的数据库 ORM 框架。包含了一些类似于 mybatis-plus 的单表操作,另外还有一些图特有的实体-关系基本操作。该项目的初衷是尽可能地减少日常开发中或重复或繁琐的工作。

  • 开箱即用,实现与 Springboot、Springcloud 的快速集成

  • 实现 GQL 与 Java 代码分离,使用 XML 统一管理

  • 使用模板引擎,解决 nGQL 参数拼接繁琐、容易写错的问题

  • 实现 ResultSet 与 Java 对象根据属性名自动转换

  • 单表基本增、删、改、查以及分页

  • 本地 Session 管理,降低资源消耗

🥳一些“小彩蛋”

大叶老师是生物学专业,大三开始去计算机系蹭课,后来又上了计算机培训班,毕业后如愿成为一名程序员,目前是笃笃科技 founder. 产品名为星影——图数据库客户端,提供可视化操作界面,让用户可以通过图形化的方式,对图数据库进行操作,目前支持且唯一支持 NebulaGraph. 在《NebulaGraph + DeepSeek 轻松看懂《哪吒2》人物关系》中,非常漂亮的《哪吒2》人物关系可视化效果就出自星影。

💡以上两个项目都是基于 Java 的 NebulaGraph ORM,如果你习惯用 JPA ,可以选择 nebula-ocean, 如果更习惯 MyBatis 进行开发,并希望你的问题得到快速反馈与解决(大家都开玩笑说大叶老师住在 GitHub 和技术交流群里,回复速度极快),那么 NgBatis 将是最佳选择。

NebulaGraph MCP Server

👍项目发起人:@PsiACE

🔗GitHub:https://github.com/nebula-contrib/nebulagraph-mcp-server

🥳PsiACE 在 MCP 开源后,就快速将 MCP 集成至 LlamaIndex,随后开发了 NebulaGraph MCP Server. 它可以将 NebulaGraph 的功能暴露为标准化的工具接口,从而让大模型轻松调用 NebulaGraph 数据,实现一系列的图探索任务。PsiACE 将其贡献给社区,供大家更轻松地探索 NebulaGraph + AI 的无限可能。

  1. 多种传输方式:

支持 stdio 和 SSE 两种传输模式,满足不同开发和部署场景的需求。

  1. 基础图探索能力:
  • 图空间(Graph Space)列出:允许模型查询可用的图空间。

  • 模式(Schema)查询:支持查询指定图空间的模式定义。

  • 查询执行(Query Execution):支持通过 MCP Server 执行 NebulaGraph 查询。

  1. 内置算子模板:
  • 实现了路径搜索和邻居发现等常用操作的模板,方便语言模型按需调用这些工具,快速获取图数据的初步洞察(Insight)。

🥳小预告

PsiACE 近期一直在做 NebulaGraph 的 GenAI 相关工作,后续会将许多经验与工作进展分享到社区,大家可以大大的期待一下~

还有这些⬇️

  1. nebula-jdbc :JDBC 驱动,可使用 JDBC API 来操作 NebulaGraph

  2. nebula-carina:NebulaGraph Python ORM,简化 Web、AI 开发

  3. nebula-norm:NebulaGraph Golang ORM,只用实例对象即可进行图数据查询

  4. DataX-nebula:阿里云 DataX 插件,批量离线导入导出 NebulaGraph 数据

  5. nebula-bench:基准工具箱,使用LDBC 数据集测试 NebulaGraph

  6. nebula-node :Node.js 客户端,少量代码即可在 Node 里跑 NebulaGraph

  7. nebula-net:数据工具,将 MySQL 集群中的数据实时同步到 Nebula Graph

……

Nebula Contrib 里每个项目都非常棒~但由于篇幅原因,本文仅挑选部分项目进行介绍,访问下方链接探索更多有趣的项目:

https://github.com/nebula-contrib/

03 成为 Contributor

许多小伙伴经常和星云仔说:“我也想成为 contributor,但感觉好难啊。”

其实,这门槛真的比你想象中低得多~谁说贡献就一定要去啃内核、改存储引擎?

NebulaGraph 的内核上手难度确实不低,但围绕它的生态工具、应用扩展、周边适配,才是社区最需要、也最容易上手贡献的领域!这就是 Nebula Contrib 存在的意义——让每个人的小想法、小优化,都能汇聚成照亮他人的光芒。

你的贡献,如此多样

  • 开发一个小工具:就像 NgBatis、nebula-carina 那样,用你熟悉的语言把它实现出来!一个数据迁移脚本、一个可视化插件… 解决一个具体的小痛点,就是巨大的价值!

  • 写写文档,润润色: 发现某个项目的 README 不够清晰?某个功能的使用说明有歧义?上手写!文档贡献是社区最最最欢迎的~

  • 帮忙捉虫: 试用 Contrib 里的项目,发现哪里运行不正常?或者有性能可以优化的地方?提交一个清晰的问题报告 (Issue),详细描述你的发现,甚至提出改进思路,就是在帮项目变得更好!如果能顺手提交一个修复的 PR (Pull Request),那就更棒了~

不限于 GitHub ,你还可以

  • 分享你的使用经验: 把你使用 NebulaGraph 的经验写成博客、在社区论坛分享,也欢迎来 nMeetup 上做个 lightning talk~

  • 答疑解惑: 在论坛或微信群里,看到有人遇到了你曾经解决过的问题?伸出援手,耐心解答!维护一个友好、活跃的社区氛围。

04 Ending

Nebula Contrib 是 NebulaGraph 社区创造力和协作精神的生动体现。从提升开发体验的工具,到探索前沿应用的桥梁,这里的每一个项目都凝聚着社区伙伴的智慧~

欢迎你加入这个有爱的 org,让 NebulaGraph 更强大(•̤̀ᵕ•̤́๑)ᵒᵏᵎᵎᵎᵎ