JSONPathカスタム整合性チェック問合せの例
これらの例を使用して、有効なJSONPathカスタム整合性チェック問合せを記述します。
-
この問合せでは、アクセッサが「認証済ユーザー」でアクセスが「NO_ACCESS」であるpresentationTableの下のすべての権限エントリが選択されます。
$.presentationTable.permissions[?(@.accessor == "role:AuthenticatedUser" && @.access == "NO_ACCESS")] -
この問合せでは、名前フィールドに部分文字列"1"、"2"または"3"が含まれるpresentationTableオブジェクトを選択します。 この問合せは、重複するオブジェクトを見つけます。
$.presentationTable[?(@.name contains '1'|| @.name contains '2'|| @.name contains '3')] -
この問合せでは、dataTypeがVARCHARと等しいlogicalTableのすべてのlogicalColumnsが選択されます。
$.logicalTable.logicalColumns[?(@.dataType == 'VARCHAR')] -
前の問合せと同様に、この問合せでは、logicalTableのすべてのlogicalColumnsが選択されます。ここで、dataTypeは"VARCHAR"ですが、構文は異なります。
$..logicalColumns[?(@.dataType == 'VARCHAR')] -
この問合せでは、名前が「Offices Company」であるドキュメント全体のすべてのlogicalLevelsが選択されます。
$..logicalLevels[?(@.name == 'Offices Company')] -
この問合せでは、アクセッサがroleBI: で始まるすべての権限が選択されます(startsWithサポートまたは承認済代替が必要です)。
$..permissions[?(@.accessor contains "role:BI")] -
この問合せでは、logicalTableSourceが"LTS1 Offices"と等しいドキュメント全体のすべてのphysicalMappingsが選択されます。
$..physicalMappings[?(@.logicalTableSource == "LTS1 Offices")]