ADD_ELEMENT関数

ADD_ELEMENT行関数は、1つのセットに1つの要素を追加します。

ADD_ELEMENTは、1つのアトミック値と1つのセットを取得し、アトミック値をセットに追加してそのセットを返します。アトミック値は、セット内の現在の要素と同じデータ型にする必要があります。セット内にすでに重複値が存在する場合、アトミック値はセットに追加されません。アトミック値はDgraph内のセットには追加されず、ADD_ELEMENT関数により作成された一時的な新しいセットにのみ追加されます。

ADD_ELEMENT関数の構文は次のとおりです。
ADD_ELEMENT(<atomic-value>, <set>)
ここで、
  • atomic-valueはアトミック値で、整数セットの場合は50、文字列セットの場合は'fifty'などになります。また、単一割当て属性にすることもできます。atomic-valueは、setに追加されます。アトミック値の型は、セットの要素の型と一致している必要があります。
  • setは、atomic-valueが追加されるセットです。setの要素は、atomic-valueと同じセット・データ型にする必要があります。たとえば、atomic-valueが単一割当てのdouble属性である場合、setの要素も文字列にする必要があります。
次に、結果の例をいくつか示します({ }は空のセットを表しています)。
ADD_ELEMENT(1, { 2, 3 }) = { 1, 2, 3 }
ADD_ELEMENT(1, { 1, 2 }) = { 1, 2 }
ADD_ELEMENT(NULL, { 1, 2 }) = { 1, 2 }
ADD_ELEMENT(1, { 'a', 'b' }) yields a checking error because the atomic value and the set elements are not of the same data type

ADD_ELEMENTの例

この例では、Score整数セットに数値100を追加します(現在、セット内に100という値はありません)。
RETURN results AS
SELECT 
   WineID AS idRec,
   ADD_ELEMENT(100, Score) AS addAttrs
FROM WineState
WHERE WineID BETWEEN 10 AND 14
ORDER BY idRec
この文の結果は次のようになります。
addAttrs              idRec
----------------------------
| { 100, 83, 85, 86 } | 10 |
| { 100, 82, 83 }     | 11 |
| { 100, 81, 89 }     | 12 |
| { 100, 73, 75 }     | 13 |
| { 100, 72, 74, 75 } | 14 |
----------------------------

結果では、数値100がセットに追加されています。たとえば、レコード12のScoreセットには要素としてもともと81と89がありましたが、現在の要素の値は81、89および100です。