46 个版本 (4 个破坏性更新)

0.4.3 2021 年 8 月 1 日
0.3.0 2021 年 7 月 6 日
0.3.0-beta.132021 年 6 月 29 日
0.2.2 2021 年 6 月 14 日
0.0.0 2021 年 3 月 13 日

#38#ic

Download history 4/week @ 2024-03-14 24/week @ 2024-03-28 10/week @ 2024-04-04 1/week @ 2024-04-25

每月 176 次下载

MIT 许可证

1.5MB
1.5K SLoC

JavaScript 1K SLoC // 0.1% comments TypeScript 187 SLoC // 0.0% comments Shell 135 SLoC // 0.0% comments Rust 21 SLoC

包含 (WOFF 字体,99KB) fontawesome-webfont.woff,(WOFF 字体,78KB) fontawesome-webfont.woff2,(WOFF 字体,45KB) open-sans-v17-all-charsets-300.woff2,(WOFF 字体,41KB) open-sans-v17-all-charsets-300italic.woff2,(WOFF 字体,45KB) open-sans-v17-all-charsets-600.woff2,(WOFF 字体,43KB) open-sans-v17-all-charsets-600italic.woff2 以及 7 个其他文件

苏德图

苏德图是 GraphQL 数据库,用于 互联网计算机 (IC)。

它的目标是成为为 IC 开发应用程序最简单的方法。开发者首先使用 GraphQL 模式定义语言 定义一个 GraphQL SDL 模式。一旦定义了模式,它就可以包含在 canister 中并部署到 IC。整个关系数据库从模式生成,通过 GraphQL 查询和突变实现各种 CRUD 操作,包括对关系数据的查询。

苏德图应被视为介于 alpha 和 beta 软件之间的软件。

文档

对于完整文档,请参阅完全托管在 IC 上的 苏德图书籍

快速入门

mkdir my-new-project
cd my-new-project
npx sudograph
dfx start --background
dfx deploy

部署后,您可以使用 Chromium 浏览器访问以下 canister

如果上述链接无效,请尝试 苏德图书籍

主要限制

  • 没有自定义标量,仅支持 Blob、Boolean、Date、Float、ID、Int、JSON 和 String
  • 没有自定义输入对象,仅允许在自定义解析器中使用自定义输入标量
  • 每个模式限制在单个 canister 中,存储空间约为 4 GB
  • 查询效率非常低
  • 没有自动迁移,一旦部署了模式,除非您实现自己的迁移,否则模式是最终的
  • 在模式级别没有授权,您需要在 canister 函数级别处理自定义授权
  • 没有自动化测试
  • 没有订阅
  • 无交易

具体路线图

以下内容在短期内很可能由 Sudograph 实现:

  • 健壮的自动化测试
  • 高效的查询,即索引
  • 自动迁移
  • 单罐交易
  • 自定义标量
  • 模式授权指令,例如针对单个字段的类似以下内容:@auth(role: OWNER)

初步路线图

以下内容 Sudograph 可能实现也可能不实现,但看起来是不错的主意:

  • 通过多罐架构实现无限制扩展
  • upsert
  • 创建、更新、删除多个
  • 在突变输入中创建、更新、删除、更新/ upsert
  • 按多个字段排序
  • 关系结果中的统计信息(例如总计数、平均值、总和等)
  • 订阅
  • 唯一约束和能力

使用 Sudograph 的项目

灵感

Sudograph 受许多先前项目的启发

依赖关系

~20–33MB
~570K SLoC