PredicateStore記法

<predstore>タグでは、PredicateStore記法を使用して、JSONデータの作成や編集を行うことができます。

また、<predstore>タグでは、同記法以外にPredicateStore関数も使用できます。
(PredicateStore関数の利用方法ついては、こちらをご覧ください)

JSONデータの例

作成したJSONデータは、<ext>タグによるサービス連携や、クライアントアプリとのデータ連携などに利用することができます。

データ操作方法

<predstore>タグで、データを操作する方法について説明いたします。

Object名

Object名に利用可能な記号はハイフン(-)とアンダースコア(_)のみで、文字列は半角スペースを含まない半角英数字、日本語(ひらがな・カタカナ・漢字)になります。

データ操作記法

<predstore>タグで使用できるデータ操作記法について説明いたします。

構文エラー及び存在しないObject名を指定した場合は、”undefined”を返却します。

記法 返却値 説明
Object.Key Object.Keyの値 Object.Keyの値を取得します。
Object.* Object配下の全ての値 Object配下の全ての値を取得します。(スペース区切り)
Object.Key=Value Valueの値 Object.KeyValueを設定します。
Object1=$Object2 Objectの値 Object1にObject2を設定します。
!Object OK Objectを削除します。
(Value1 Value2 Value3) Value1 Value2 Value3 Value1 Value2 Value3を1つのリストにまとめます。
Object=$(Value1 Value2 Value3) Value1 Value2 Value3 Value1 Value2 Value3のリストとしてObjectに設定します。
^ボットID.Object

公開オブジェクトとして設定します。同一のプロジェクト以外のボットからも値の変更や参照が可能となります。
@ボットID.Object 読み取り専用オブジェクトとして設定します。同一のプロジェクト以外のボットからも値の参照をすることが可能となります。

データ操作例

データ設定

Exapmle – 1

Object.Key=Value記法を使い、Object.Keyにデータを設定します。

xAIML

実行結果

データ構造

実行前

実行後

Exapmle – 2

Object.Key=Value記法を使い、既存のデータに値を追加する例です。

xAIML

実行結果

データ構造

実行前

実行後

Exapmle – 3

Object=$(Value1 Value2 Value3)記法を使い、リストデータを設定する例です。

xAIML

実行結果

データ構造

実行前

実行後

データ取得

以下のデータからfamily配下の値を取得する例です。

Exapmle – 1

Object.Key記法を使い、値を取得します。

xAIML

実行結果

Exapmle – 2

Object記法を使い、Object配下のkey一覧を取得します。

xAIML

実行結果

Exapmle – 3

Object.*記法を使い、Object配下の全てのValueを取得します。

xAIML

実行結果

データ削除

Objectを削除または初期化する例です。

Exapmle – 1

!Object記法を使い、Objectを削除します。

xAIML

実行結果

データ構造

実行前

実行後

Exapmle – 2

Object.Key=Value記法を使い、Object.Keyの値を削除します。

xAIML

実行結果

データ構造
実行前

実行後

Exapmle – 3

Object.Key=Value記法を使い、Object.keyのリスト内容を削除します。

xAIML

実行結果

データ構造
実行前

実行後

データ書込み/読取り

公開オブジェクトと読取り専用オブジェクトの作成例です。

ご注意
書き込み権限の無いオブジェクトへの書き込み操作を行おうとした場合は、”denied”を返却します。
Exapmle – 1

^ボットID記法を使い、別プロジェクトのボットからでも保存した値の変更や参照ができるようにします。

xAIML

1.公開オブジェクトの作成 ※TEST_agentボットで記述する場合

2.別プロジェクトのボットでの呼び出し方法 ※SUNABA_agentボットで記述する場合

実行結果

データ構造 

実行前

実行後

ご注意
別プロジェクトのボットから値の変更や参照を行う場合は、あらかじめ該当ボットでオブジェクトを作成しておく必要があります。
作成していない公開オブジェクトを指定した場合は、”dinied”となります。

実行結果

Exapmle – 2

@ボットID記法を使い、別プロジェクトのボットからでも保存した値の参照ができるようにします。

xAIML

1.読み取り専用オブジェクトの作成 ※TEST_agentボットで記述する場合

2.別プロジェクトのボットでの呼び出し方法 ※SUNABA_agentボットで記述する場合

実行結果

ご注意
別プロジェクトのボットから値の参照を行う場合は、あらかじめ該当ボットでオブジェクトを作成しておく必要があります。
作成していない公開オブジェクトを指定した場合は、”dinied”となります。

実行結果