dgraph-io/dgraph-js
Official Dgraph JavaScript client
解决的问题
构建需要与 Dgraph(一种分布式图数据库)通信的 JavaScript 应用程序需要一个可靠的客户端。该库通过提供用于模式管理、事务、查询和变更的高级 API,免去了您自己编写底层 gRPC 代码的需要。它还处理连接细节、身份验证和 TLS,以便您可以专注于图数据。
工作原理
客户端使用 gRPC 与 Dgraph 集群通信。您可以使用类似 dgraph://localhost:9080 的连接字符串进行连接,或包含凭据、API 密钥或 TLS 设置的连接字符串。它紧密遵循官方 Go 客户端的设计。
关键操作包括:
- Alter:使用
Operation对象更改模式或删除数据。 - 事务:创建只读或尽力而为的事务,显式提交或丢弃它们。
- 变更:以 JSON 或 RDF N-Quads 格式插入数据,可选立即提交或跳过索引冲突检查。
- 查询:使用变量运行 GraphQL± 查询,获取 JSON 响应。
- Upserts:在一个请求中组合查询和变更,可选条件执行。
- 多租户:使用
loginIntoNamespace登录到特定命名空间。 - 调试模式:在操作期间打印有用的调试消息。
- 头部:向 gRPC 调用传递自定义元数据,如认证令牌。
所有客户端方法返回 Promise,该库同时适用于 JavaScript 和 TypeScript(借助类型包)。
适用人群
使用 Dgraph 作为图数据库的 Node.js 应用程序开发者。适合任何需要从 JavaScript 执行图查询、管理模式或运行事务的人,尤其是那些已经熟悉 Dgraph 查询语言和概念的人。
亮点
- 由 Dgraph 维护的官方客户端,确保与当前服务器版本兼容。
- 基于 gRPC 构建,实现高效、低延迟通信。
- 支持多个 Dgraph 版本,每个版本有对应的客户端发布。
- 支持包含 ACL 凭据、API 密钥、Bearer 令牌和 TLS 选项的连接字符串。
- 允许多租户登录到特定命名空间。
- 提供事务操作,包括提交、丢弃和重试指导。
- 处理 JSON 和 RDF N-Quad 变更。
- 支持使用
@if指令的 upsert 和条件变更。 - 包含调试和元数据头部功能。
- 包含快速入门和 TLS 设置的示例项目。
相关
- 项目
- 项目
- 项目
- 项目