---
title: "GraphQLスキーマ"
slug: "graphql-schema"
abstract: ""
---
# GraphQLスキーマ

[スキーマ](https://graphql.org/learn/schema/)はデータの整理や構造化の仕組みを表します。内容から入力されるフィールドを持つタイプの階層を定義します。スキーマはまた、クライアントがデータグラフに対して実行可能なクエリを正確に指定します。

> !重要GraphQLスキーマを生成する際に問題を避けるために、プロパティ名にアンダースコアを使用しないでください。アンダースコアは削除されてしまうためです。

> !注プレビューAPIおよびDelivery APIはミューテーションをサポートしていません。

GraphQLを使って利用可能なデータ型を検証するには、\_\_schemaフィールドにクエリを行えます。このフィールドは常に検索のルート型で利用可能です。

スキーマに存在するすべての型を表示するには、以下のコマンドを実行します:

{
 \_\_schema {
 types {
 name
 }
 }
}

また、GraphQL IDEの右側にある[SCHEMA](https://doc.sitecore.com/ch/ja/developers/cloud-dev/graphql-ide.html "GraphQL IDE")タブからスキーマにアクセスすることもできます。スキーマは**SCHEMA**タブの**「DOWNLOAD**」ボタンをクリックしてダウンロードできます。

> !注ほとんどのGraphQL IDEは、開発者に追加ツール(オートコンプリートなど)を提供し、スキーマに関する情報を表示するためにスキーマに対して内省クエリを実行します。

## 種類

[GraphQLのタイプ](https://www.howtographql.com/basics/2-core-concepts/)は、エンティティ定義がGraphQLでどのようにマッピングされているかを示しています。利用可能なタイプはスキーマによって異なります。

## スカラータイプ

[スカラータイプ](https://graphql.org/learn/schema/#scalar-types) は、常に具体的なデータに解決される基本的なデータタイプです。Sitecore Content Hubには、以下のデフォルトのスカラータイプが含まれています。

スカラー型

概要

*Int*

署名付き32ビット整数。

*Float*

署名付きの二精度浮動小数点の値です。

*String*

UTF-8文字シーケンスです。

*Boolean*

*真値*か*偽値*か。

*ID* ( *文字列*としてシリアル化)

オブジェクトの取得に使われる、またはキャッシュの鍵として使われる一意の識別子です。文字列としてシリアライズされていますが、IDは人間が読みやすいものではありません。

Content Hubには以下のカスタムスカラーデータタイプも含まれています。

スカラー型

概要

*MultiplierPath*

有効なGraphQL乗算パス文字列。

*DateTime*

*2021年1月19日T17の日付時刻:33:00.000Z*形式。

*Long*

非常に大きな数を格納するための拡張容量変数です。

*Decimal*

十進変数は96ビット(12バイト)の符号なし整数として格納され、スケーリング係数と小数が正か負かを示す値が加わります。

## オブジェクトタイプ

GraphQLスキーマで定義するほとんどの型は [オブジェクト型](https://graphql.org/learn/schema/#object-types-and-fields)です。オブジェクトタイプはフィールドを持ち、それぞれがスカラー型または他のオブジェクト型のいずれかです。Content Hubの場合、公開可能なエンティティ定義ごとにGraphQLスキーマ内に複数の型があります。生成される型は、単一クエリタイプ、allクエリタイプ、where節を書く述語タイプ、または単一のリターンタイプなどを挙げることができます。これらのタイプのフィールドはエンティティ定義のフィールドに基づいて生成されます。IDE内の**DOCS**タブにはオブジェクトタイプに関する詳細情報が含まれています。