GraphQL 照会タイプ

組織にインポートしたデータは、 GraphQL クエリーを使用して検査できます。 クエリーを手動で実行したり、クエリーを自動化したり、自動化されたルールを使用してクエリーを実行したりすることができます。

Supply Chain Intelligence Suite データの照会には、 GraphQL 照会命令が使用されます。 照会命令のフォーマットには、照会タイプ、括弧で囲まれた入力パラメーター、およびその後に、中括弧で囲まれた、返されるオブジェクトの出力フォーマットが含まれます。

query type (input paramters){output parameters}

照会タイプは、どのタイプのデータ (ビジネス・イベントまたはビジネス・オブジェクト) を照会するか、およびどのデータウェアハウス (イベント・ウェアハウスまたはオブジェクト・ウェアハウス) をターゲットにするかを示します。 入力パラメーターは照会対象を示し、出力形式は結果のオブジェクトを表示する方法を示します。

現在、データウェアハウス別にグループ化された 4 つの主なタイプの照会が可能です。
イベント・ウェアハウス
errorEvents
エラー・イベントの詳細に基づいてエラー・イベントのリストを返します。これは、照会するエラーのタイプ (取り込みまたは処理) を指定します。 ErrorEventsCursorを返します。
businessObjectEvents
ビジネス・オブジェクトに影響を与えているイベントからの詳細入力に基づいて、ビジネス・オブジェクト・イベントのリストを返します。 BusinessEventsCursorを返します。
businessRuleEvents
ルールの実行結果のイベントからの詳細入力に基づいて、ビジネス・ルール・イベントのリストを返します。 BusinessRulesCursorを返します。
オブジェクト・ウェアハウス
businessObjects
ビジネス・オブジェクト識別情報と、照会の実行に使用されるシリアライズド・ビューの名前に基づいて、ビジネス・オブジェクトのリストを返します。 BusinessObjectsCursorを返します。
以下のサンプル照会は、特定の ID によって単一のビジネス・オブジェクト・イベントを返します。
{
  businessObjectEvents(
    simpleFilter: {
      businessObject: { 
        type: Order
        id: "372c9cdb-1077-464e-9132-b29fa25544d2"
      },
      tenantId: "e2_aRj_3np92C2Tl9uWIyh0vQP8N8"
    }, 
    cursorParams: { 
      first: 1  # Maximum number of items to return
    }
  ) {
    totalCount
    pageInfo {
      endCursor
      hasNextPage
    }
    edges {
      cursor
      object {
        eventCode
        infoHubObjectId
        objectType
        tenantId
        timestampEventOccurred
        timestampEventReceived
        eventDetails {
          ... on BusinessObjectEventDetails {
            businessObject {
              id
              type
            }
            eventSource {
              type
              EDI {
                transactionType
                size
              }
            }
          }
        }
      }
    }
  }
}

照会入力パラメーター

必須入力パラメーターは、実行される照会のタイプによって異なります。 ただし、いくつかの入力パラメーターは、照会タイプ間で共通です。

businessObjectEvents
businessObjectEvents 照会タイプは、指定された入力パラメーター値に基づいて、イベント・ウェアハウスからビジネス・イベントのリストを返します。
ビジネス・オブジェクト・イベントの照会タイプ

この照会の入力パラメーターは以下のとおりです。

eventParams
BusinessEventInputを指します。
simpleFilter
BusinessObjectEventDetailsInputを指します。
advancedFilter
BooleanExpを指します。
savedFilter
SavedFilterを指します。
cursorParams
CursorInputを指します。
BusinessObjectEventDetailsInput
このタイプは、イベントに関係するビジネス・オブジェクト操作の入力を提供し、以下の属性を含みます。
tenantId
イベントの生成を担当しているテナントのグローバル ID。
businessObjectEventCode
このイベントに関係するビジネス・オブジェクト操作のタイプ (アップサートまたはアーカイブのいずれか)。
businessObject
BusinessObjectInputを指します。
BusinessObjectInput
このタイプは、含まれているビジネス・オブジェクト自体に対する入力を提供し、以下の属性を含みます。
id
ビジネス・オブジェクトのグローバル固有 ID。オブジェクトの作成時に生成されます。
type
BusinessObjectType 列挙値を指します。これは、ビジネス・オブジェクトのタイプを示します。
globalIdentifiers
同じタイプの他のビジネス・オブジェクトから、同じテナント内でこのビジネス・オブジェクトを一意的に識別する必要があるオブジェクト属性の名前または値のペアの配列。 Supply Chain Intelligence Suite は、 globalIdentifiers、テナント、およびオブジェクト・タイプの固有の組み合わせごとに固有 ID を生成します。
localIdentifiers
ビジネス・オブジェクト自体の中でローカル参照用にこのオブジェクトを一意的に識別する、オブジェクト属性の名前または値のペアの順序付き配列。 特定のビジネス・オブジェクトには、オーダー内のオーダー明細やサブラインなど、親オブジェクトを参照できるネストされたオブジェクトがあります。
businessRuleEvents
businessRuleEvents 照会タイプは、指定された入力パラメーター値に基づいてビジネス・ルールによって生成された、イベント・ウェアハウスからのビジネス・イベントのリストを返します。
ビジネス・ルール・イベント照会タイプの図

この照会の入力パラメーターは以下のとおりです。

eventParams
BusinessEventInputを指します。
simpleFilter
BusinessRuleEventDetailsInputを指します。
advancedFilter
BooleanExpを指します。
savedFilter
SavedFilterを指します。
cursorParams
CursorInputを指します。
aggregationParams
AggregationParamsを指します。
BusinessRuleEventDetailsInput
このタイプは、ビジネス・イベントを生成したビジネス・ルールの詳細を提供し、以下の属性を含みます。
tenantId
イベントの生成を担当しているテナントのグローバル ID。
rule
ID、名前、およびソースを使用してルールを指定できる RuleInput タイプを指します。
dimensionValues
クエリーを制限するディメンション値を指定する名前/値のペアの配列。 ディメンションは、基礎となるビジネス・オブジェクトの属性であり、その属性のすべての固有値によって異なるビジネス・イベントが生成されます。
AggregationParams
このタイプを使用すると、照会で返される値を集約、要約、およびソートできます。このタイプには、以下の属性が含まれます。
dimension
集約が行われる基礎となるビジネス・オブジェクト属性およびデータ型。 指定された属性に対して検出された固有値ごとに、異なる集約が実行されます。
reduce
オプションで、照会で返されるデータに対して削減操作を実行できます。この操作は AggregationReduceを指します。
paginationParams
オプションで、照会で返す値の数、結果をソートするために使用する属性、および結果を昇順または降順でソートするかどうかを指定できます。
AggregationReduce
このタイプには、どのタイプの削減操作を実行するか、およびその削減の出力をどのように表現するかについての指示が含まれ、以下の属性が含まれます。
expression
AggregationReduceExpressionを指します。
output
式出力の結果およびデータ・タイプを保持するために使用する新規属性 resultAliasを示します。
AggregationReduceExpression
このタイプは、縮約アルゴリズムを定義する数学演算を保持します。このタイプには、以下の属性が含まれます。
operator
AggregationReduceOperator を指し、実行される数学演算を指定します。
fieldPath
操作への入力として機能するビジネス・オブジェクトまたはイベント属性。
type
ScalarType を指し、 fieldPath 値のデータ・タイプを示します。
errorEvents
errorEvents 照会タイプは、指定された入力パラメーター値に基づいて、イベント・ウェアハウスからエラー・イベントのリストを返します。 エラー・イベントは、ビジネス・オブジェクトの処理中にエラーが発生すると、 Supply Chain Intelligence Suite によって生成されます。 データ処理はバックグラウンドで非同期的に行われる可能性があるため、エラーが発生したかどうかを判別する唯一の方法は、エラー・イベントを照会することです。
エラー・イベント

この照会の入力パラメーターは以下のとおりです。

eventParams
BusinessEventInputを指します。
simpleFilter
ErrorEventDetailsInputを指します。
advancedFilter
BooleanExpを指します。
savedFilter
SavedFilterを指します。
cursorParams
CursorInputを指します。
ErrorEventDetailsInput
このタイプは、エラー・イベントの性質の詳細を提供し、以下の属性を含みます。
tenantId
イベントの生成を担当しているテナントのグローバル ID。
type
エラー・イベントのタイプ。データの取り込み中にイベントが発生したか、 IngestionErrorEventDetailsまたはデータのバックグラウンド処理中にイベントが発生したか、 ProcessingErrorEventDetailsを示します。
businessObjects
businessObjects 照会タイプは、指定された入力パラメーター値に基づいて、オブジェクト・ウェアハウスからビジネス・オブジェクトのリストを返します。
ビジネス・オブジェクト照会タイプの図

この照会の入力パラメーターは以下のとおりです。

hint
Hint タイプを指します。これには、以前に保存されたマテリアライズ・ビューを指定する viewId 属性が含まれます。 ビューは、照会の結果で返される内容を定義します。
simpleFilter
BusinessObjectInputを指します。
advancedFilter
BooleanExpを指します。
savedFilter
SavedFilterを指します。
cursorParams
CursorInputを指します。

共通入力パラメーター・タイプ

BooleanExp
ブール式は、結果がブール値の true または false の結果になる演算子とリンクされる一連の比較です。 比較では、明示的な値を Supply Chain Intelligence Suite ビジネス・オブジェクトまたはビジネス・イベントの属性と比較します。 演算には、論理演算子 AND、OR、NOT、および比較演算子 (GREATER_THAN や EQUALS など) が含まれます。 論理演算子は、 BooleanExp型でもあります。これにより、 BooleanExp ステートメントを任意にネストすることができる再帰が可能になります。
ブール式を示す図
その他の参照タイプには次のものがあります
ComparisonOp
特定のタイプの値を、SELECT 属性によって示されるビジネス・オブジェクトまたはイベントの属性と比較します。
ComparisonListOp
特定のタイプの値のリストを、SELECT 属性によって示されるビジネス・オブジェクトまたはイベントの属性と比較します。 ビジネス・オブジェクトまたはイベント属性もリストであると想定されるため、比較が true を返すためには、VALUE によって指定されるすべての項目が、SELECT によって返されるすべての項目と一致する必要があります。
ComparisonOperandType
比較で使用される値データ・タイプの列挙。
その他の一般的なタイプ
共通入力パラメーター・タイプを示す図
BusinessEventInput
すべてのタイプのビジネス・イベント照会は、イベント自体に関する属性の共通セット (イベントのタイム・スタンプ、イベントの固有 ID、イベントに関係するオブジェクトのタイプなど) をサポートします。
SavedFilter
照会の結果を絞り込むためのフィルターは、フィルター・サービスを使用して事前定義でき、代わりに filterId 属性を使用して参照できます。これにより、照会では常にフィルターの詳細が表現されます。
CursorInput
どのビジネス・オブジェクトまたはイベントの後に、ページ編集の目的でそのオブジェクトまたはイベントのカーソル値を使用して結果を開始する必要があるかを示します。 また、照会で返す数も示します。
AggregationReduceOperator
ビジネス・ルール・イベント照会で結果を集約する際に、削減操作中に可能な操作の列挙。
ScalarType
集約操作中に属性に関連付けられた値のデータ・タイプを参照します。
SortOrder
返される結果をソートする方法と、ソートするビジネス・オブジェクトまたはイベントのソース・フィールドを指定します。
BusinessObjectType
Supply Chain Intelligence Suiteでサポートされるすべてのビジネス・オブジェクト・タイプをリストします。

照会出力フォーマット

照会によって返されるデータは、実行中の照会のタイプによって異なります。 同様に、照会自体に指定されている出力形式も、照会のタイプによって異なります。 4 つの照会タイプがあるため、返される可能性のある 4 つのオブジェクトと、関連する出力形式があります。

  • errorEvents: ErrorEventsCursor
  • businessObjectEvents: BusinessEventsCursor
  • businessRuleEvents: BusinessRulesCursor
  • businessObjects: BusinessObjectsCursor

返される各タイプは、カーソル・インターフェースを実装します。これは、結果が索引可能かつページ編集されたオブジェクトのリストであることを意味します。

照会出力フォーマットを示す図
カーソル
Cursor インターフェースには、以下の 3 つの基本属性があります。
edges
Edge インターフェースを実装するオブジェクト・タイプの配列。
pageInfo
現行ページのデータの詳細。これには、 edges 配列内の最後のデータ・オブジェクト ( endCursor) のカーソル値 (ポインター)、および次のページ ( hasNextPage) があるかどうかが含まれます。
totalCount
照会に一致するデータ・オブジェクトの総数。

4 つの照会結果カーソル ErrorEventsCursorBusinessEventsCurs 、および BusinessObjectsCursorのうち 3 つは、カーソル・インターフェース定義によく似ており、エッジ・オブジェクトに実装されているオブジェクトのみをオンに変更します。 BusinessRulesCursor、 ただし、集約結果のレンディングを処理するためにカーソル実装により多くの属性を組み込むことによって異なります。

注:'Supply Chain Intelligence Suiteによって実装されるビジネスオブジェクトとイベントのさまざまなタイプに応じて、Edgeタイプのオブジェクトの実装は多種多様であるため、それらのオプションについて詳しく知る最善の方法は、GraphQLIntrospection Tutorialで説明されているように、'Supply Chain Intelligence Suiteデータモデルをイントロスペクトすることです
Edge
Edge インターフェースは、照会への入力パラメーターとして指定された照会基準に一致する、カーソルが設定された (索引が付けられた) データ・オブジェクトを表します。 実際の実装は、照会によって返されるデータのタイプによって異なります。 すべての実装には、インターフェースによって定義される以下の 2 つの属性があります。
cursor
このエッジによって表されるビジネス・オブジェクトまたはイベントの固有索引 ID。
object
インターフェースを実装するビジネス・オブジェクトまたはイベントを指します。 インターフェースには、 id 属性のみが含まれます。 実装は、照会によって返されるデータのタイプによって大きく異なります。
BusinessRulesCursor
Cursor インターフェースの 3 つの属性 ( edgespageInfo、および totalCount) の実装に加えて、 BusinessRulesCursor は、ビジネス・ルールから集約結果をレンダリングするための以下の 2 つの属性も実装します。
aggregationResults
AggregationResultを指します。
aggregationResultsTotalCount
一致したディメンションに従って返された集計結果の総数。
AggregationResult
集計結果を示す図

集計は、複数のディメンションに対して実行される削減計算を定義します。 ディメンションとは、基礎となるビジネス・オブジェクトの属性であり、その属性の固有値ごとに異なる集計が生成されます。 このタイプには、以下の 2 つの属性があります。

dimensionValues
生成された各集計値のディメンション値をリストする名前と値のペアの配列。
values
名前と値のペアの配列。名前属性は、照会の集約定義から resultAlias を指定し、値は結果の計算 (削減) になります。 値は、縮小操作の性質に応じて、ストリング (value) タイプまたは浮動 (numValue) タイプのいずれかになります。 配列内の値の指標は、 dimensionValues 配列内の関連する次元の指標に対応します。