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 応答を取得します。
  • アップサート: 1 つのリクエストでクエリとミューテーションを組み合わせ、オプションで条件付き実行を行います。
  • マルチテナンシー: loginIntoNamespace を使用して特定の名前空間にログインします。
  • デバッグモード: 操作中に役立つデバッグメッセージを出力します。
  • ヘッダー: 認証トークンなどのカスタムメタデータを gRPC 呼び出しに渡します。

すべてのクライアントメソッドは Promise を返し、ライブラリは JavaScript と TypeScript の両方で動作します(型パッケージの助けを借ります)。

対象読者

Dgraph をグラフデータベースとして使用する Node.js アプリケーションを開発する開発者。JavaScript からグラフクエリを実行したり、スキーマを管理したり、トランザクションを実行したりする必要がある人に適しています。特に、Dgraph のクエリ言語と概念にすでに精通している人に最適です。

ハイライト

  • Dgraph が保守する公式クライアントであり、現在のサーバーバージョンとの互換性を保証します。
  • gRPC に基づいて構築されており、効率的で低遅延の通信を実現します。
  • 多くの Dgraph バージョンをサポートし、バージョンごとにクライアントリリースがあります。
  • ACL 資格情報、API キー、ベアラートークン、TLS オプションを含む接続文字列をサポートします。
  • 特定の名前空間へのマルチテナントログインを可能にします。
  • コミット、破棄、再試行のガイダンスを含むトランザクション操作を提供します。
  • JSON および RDF N-Quad ミューテーションの両方を処理します。
  • @if ディレクティブを使用したアップサートと条件付きミューテーションをサポートします。
  • デバッグおよびメタデータヘッダー機能を含みます。
  • クイックスタートと TLS セットアップ用のサンプルプロジェクトを含みます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト