EQLを使用するには、次の概念を理解する必要があります。
- 属性: 属性は、レコード・スキーマの基本単位です。 属性は、Dgraphのレコードを説明します。 レコードの割当の視点から、属性は次のいずれかになります:
- 単一割当て属性: レコードが値を1つのみ持つことができる属性。 たとえば、ブックには1つの価格しかないため、価格属性は単一割当になります。 単一割当て属性は、アトミック・データ型(
mdex:string
やmdex:double
など)です。
- 複数割当属性: レコードが複数の値を持つことができる属性。 たとえば、ブックに複数の作成者がいる場合があるため、作成者属性は複数割当になります。 複数割当属性はセット・データ型(
mdex:string-set
やmdex:double-set
など)です。 EQLにセットで表示されます(「データの設定および複数割当」を参照)。
- レコード: Dgraphのデータの基本単位。 レコードには、属性値が割り当てられます。 割当は、レコードに属性の値が含まれることを示します。 通常、レコードには複数の属性からの割当が含まれます。 コレクション内のレコードでは、EQL結果に記録できるのと同じ属性に複数の割当てを含めることができます。
- コレクション: Dgraphアプリケーション・レコードの完全な本文は、1つ以上のコレクション(データ・セット in Studioと呼ばれる)に含まれます。 つまり、Dgraphデータは表ベースではなくコレクションベースです。
FROM
句を文に使用して、名前付きの状態を指定します。 これは、問合せのレコード・ソースになります。 (名前付きの状態は、データ・セットのコレクション名およびDgraphデータベースを参照します。) また、FROM
句で前に定義した文をレコード・ソースとして指定できます。 EQL文では、FROM
句は必須です。
- 文: 関連または独立したアナリティクス結果を計算するEQLの単位。 EQLでは、文は
DEFINE
またはRETURN
で開始し、文の間にある場合にはセミコロンで終了します(最後の文ではセミコロンはオプションです)。 文には、必須のSELECT
句およびオプションでその他の句も含まれます。
- 結果: 問合せ結果は文の結果のコレクションであり、文の結果はレコードのコレクションです。
- 中間結果:
RETURN
文の結果は、他の文による後続処理の中間結果としても使用できます。
- 返された結果: 問合せまたは文によって返された一致値のセット。
- 問合せ: Dgraphゲートウェイに送信されるリクエスト(および最終的にはDgraph)。 通常、問合せは複数の文で構成されています。