GraphQL(グラフQL)はAPI向けに作られたクエリ言語およびランタイムである[2]。 ベンダーフリーな GraphQL財団の支援を受け、開発が進められている[3]。 ウェブAPIの開発に、RESTやその他のWebサービスと比較して、効率的で堅牢、かつ柔軟なアプローチを提供する。GraphQLでは、クライアントが必要なデータの構造を定義することができ、サーバーからは定義したのと同じ構造のデータが返される。したがって、必要以上に大きなデータが返されるのを防ぐことができクエリの効率が良い。また、柔軟性と豊かな表現が可能なクエリ言語は複雑さを加えるため、シンプルなAPIには適さない可能性もある[4][5][6]。GraphQLは、型システム、クエリ言語、実行セマンティクス、静的な検証、型チェックから構成される。 GraphQLは、データの問い合わせ (query)、書き換え (mutatio