読み方 : グラフキューエル

GraphQL

概要

GraphQLとは、Web APIのためのクエリ言語およびその実行環境。クライアントが必要なデータの構造を自由に指定して取得できる。2015年に米Facebook(現Meta Platforms)社が公開した。
GraphQLのイメージ画像

従来のWeb APIで主流の「REST」方式では、サーバ側が機能や用途ごとに用意したURLクライアントが要求を送り、データを取得する。この方式では、一度のアクセスで不要なデータまで付いてきたり、逆に必要な情報が足りず、複数のURLへ何度も問い合わせを行わなければならなかったりする課題があった。

これに対し、GraphQLではクライアント側が「どの項目のデータが欲しいか」をリクエストの中で具体的に宣言する。サーバは指定された項目だけを過不足なく一度の通信で返すため、通信量の削減と処理の効率化を同時に実現できる。

クライアント側がそのAPIで何をできるか事前に確かめられるよう、スキーマが公開される。そのAPIでどのようなデータが提供されているかを定義した設計図のようなもので、どのようなクエリを送れば目的のデータが得られるかを事前に把握できる。データは「数値」「文字列」といったデータ型が決まっており、リクエストの内容が正しいかどうか通信の前に検証することができる。

データの操作については、データ取得を行う「クエリ」(Query)、データの追加や更新を行う「ミューテーション」(Mutation)、データの変更をリアルタイムで受け取る「サブスクリプション」(Subscription)という三つの主要な操作が定義されている。特に、サブスクリプション機能は、チャットアプリや株価チャートのような、情報の即時性が求められるサービスの開発において非常に有効である。

GraphQLは、Webアプリケーションやモバイルアプリにおいて、複雑なデータ構造を効率的に扱うAPI仕様の設計に利用されている。特定のフレームワークデータベースプログラミング言語などに依存しないため、既存の様々なシステムを統合するゲートウェイとしても活用されている。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。