@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/power-automate-error-handling-retry-design/#article>
    schema:about <https://comcomponent.com/knowledge/cloud-flow/>, <https://comcomponent.com/knowledge/retry-policy/> ;
    schema:mentions <https://comcomponent.com/knowledge/azure-logic-apps/>, <https://comcomponent.com/knowledge/transient-failure/>, <https://comcomponent.com/knowledge/data-caused-failure/>, <https://comcomponent.com/knowledge/auth-expiry-failure/>, <https://comcomponent.com/knowledge/spec-change-failure/>, <https://comcomponent.com/knowledge/scope-try-catch/>, <https://comcomponent.com/knowledge/run-after-configuration/>, <https://comcomponent.com/knowledge/terminate-action/>, <https://comcomponent.com/knowledge/flow-failure-notification/>, <https://comcomponent.com/knowledge/flow-run-history/>, <https://comcomponent.com/knowledge/flow-auto-disable/>, <https://comcomponent.com/knowledge/flow-suspended/>, <https://comcomponent.com/knowledge/dlp-policy/>, <https://comcomponent.com/knowledge/resubmit-flow-run/>, <https://comcomponent.com/knowledge/idempotent-flow-design/>, <https://comcomponent.com/knowledge/upsert-pattern/>, <https://comcomponent.com/knowledge/trigger-condition/>, <https://comcomponent.com/knowledge/concurrency-control/>, <https://comcomponent.com/knowledge/self-trigger-loop/>, <https://comcomponent.com/knowledge/dirty-read-in-flow/> .

<https://comcomponent.com/knowledge/cloud-flow/> a skos:Concept ;
    skos:prefLabel "クラウドフロー"@ja ;
    skos:definition "Power Automateにおいて、クラウド上で動作しトリガーによって自動実行されるフロー(自動化フロー・スケジュールフロー・インスタントフロー)の総称。"@ja ;
    skos:altLabel "Cloud Flow" ;
    ks:uses <https://comcomponent.com/knowledge/azure-logic-apps/> .

<https://comcomponent.com/knowledge/retry-policy/> a skos:Concept ;
    skos:prefLabel "標準リトライポリシー"@ja ;
    skos:definition "アクション(またはトリガー)の要求がタイムアウトするか408・429・5xx応答で失敗したときに、指数バックオフ等で自動的に再試行するPower Automateの既定の仕組み。"@ja ;
    skos:altLabel "retry policy" ;
    skos:altLabel "リトライポリシー"@ja ;
    ks:mitigates <https://comcomponent.com/knowledge/transient-failure/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/data-caused-failure/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/auth-expiry-failure/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/spec-change-failure/> .

<https://comcomponent.com/knowledge/azure-logic-apps/> a skos:Concept ;
    skos:prefLabel "Azure Logic Apps"@ja ;
    skos:definition "Power Automateのクラウドフローが基盤とする、Azureのワークフロー自動化サービス。"@ja ;
    skos:altLabel "Logic Apps" .

<https://comcomponent.com/knowledge/transient-failure/> a skos:Concept ;
    skos:prefLabel "一時的な障害"@ja ;
    skos:definition "接続先の瞬断・メンテナンス、スロットリング(429)、サーバーエラー(5xx)など、標準リトライで解決することが多い失敗の分類。"@ja .

<https://comcomponent.com/knowledge/data-caused-failure/> a skos:Concept ;
    skos:prefLabel "データ起因の失敗"@ja ;
    skos:definition "想定外の空値・形式や参照先に存在しないIDなど、リトライしても直らない失敗の分類。"@ja .

<https://comcomponent.com/knowledge/auth-expiry-failure/> a skos:Concept ;
    skos:prefLabel "権限・認証切れによる失敗"@ja ;
    skos:definition "接続の期限切れ、パスワード変更、担当者の退職・アカウント無効化など、再認証が必要でリトライでは直らない失敗の分類。"@ja ;
    ks:mayCause <https://comcomponent.com/knowledge/flow-auto-disable/> .

<https://comcomponent.com/knowledge/spec-change-failure/> a skos:Concept ;
    skos:prefLabel "仕様変更起因の失敗"@ja ;
    skos:definition "SharePoint列名の変更や接続先APIのバージョン変更など、フローの修正が必要でリトライでは直らない失敗の分類。"@ja .

<https://comcomponent.com/knowledge/scope-try-catch/> a skos:Concept ;
    skos:prefLabel "スコープによるTry-Catch-Finallyパターン"@ja ;
    skos:definition "Tryスコープの失敗を実行条件の構成でCatchスコープに分岐させ、Finallyで後片付けを行う、Power Automateのエラー処理の定石。"@ja ;
    skos:altLabel "Try-Catch-Finally" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/data-caused-failure/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/auth-expiry-failure/> ;
    ks:uses <https://comcomponent.com/knowledge/run-after-configuration/> ;
    ks:uses <https://comcomponent.com/knowledge/terminate-action/> .

<https://comcomponent.com/knowledge/run-after-configuration/> a skos:Concept ;
    skos:prefLabel "実行条件の構成(run after)"@ja ;
    skos:definition "各アクション(またはスコープ)が、直前のアクションの成功・失敗・スキップ・タイムアウトのどの状態で実行されるかを設定するPower Automateの機能。"@ja ;
    skos:altLabel "run after" .

<https://comcomponent.com/knowledge/terminate-action/> a skos:Concept ;
    skos:prefLabel "Terminateアクション"@ja ;
    skos:definition "フロー実行全体を指定した状態(Failed等)で即座に終了させるPower Automateのアクション。"@ja .

<https://comcomponent.com/knowledge/flow-auto-disable/> a skos:Concept ;
    skos:prefLabel "フローの自動無効化(14日ルール)"@ja ;
    skos:definition "トリガーやアクションが失敗し続ける、またはスロットリングされ続けるフローが14日で自動的にオフにされる仕組み。"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/flow-run-history/> .

<https://comcomponent.com/knowledge/flow-suspended/> a skos:Concept ;
    skos:prefLabel "フローの中断(suspended)状態"@ja ;
    skos:definition "DLPポリシー違反や繰り返しの失敗によって、フローが動作を止められる状態。"@ja ;
    skos:altLabel "suspended" .

<https://comcomponent.com/knowledge/dlp-policy/> a skos:Concept ;
    skos:prefLabel "データ損失防止(DLP)ポリシー"@ja ;
    skos:definition "コネクタを業務データ専用・業務データ利用不可・ブロックに分類し、異なる分類のコネクタを同じフロー内で組み合わせられないようにするPower Platformのガバナンス機構。"@ja ;
    skos:altLabel "DLPポリシー"@ja ;
    ks:mayCause <https://comcomponent.com/knowledge/flow-suspended/> .

<https://comcomponent.com/knowledge/flow-failure-notification/> a skos:Concept ;
    skos:prefLabel "クラウドフローの失敗通知"@ja ;
    skos:definition "既知の直し方がある原因と判定された場合に限り実行単位のアラートが所有者・共同所有者へ送られる、Power Automate標準の失敗通知の仕組み。"@ja ;
    skos:altLabel "失敗アラート"@ja ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/data-caused-failure/> .

<https://comcomponent.com/knowledge/flow-run-history/> a skos:Concept ;
    skos:prefLabel "フローの実行履歴"@ja ;
    skos:definition "クラウドフローの各実行の成否や詳細を確認できる画面で、既定では28日間しか表示されない。"@ja ;
    skos:altLabel "実行履歴"@ja .

<https://comcomponent.com/knowledge/resubmit-flow-run/> a skos:Concept ;
    skos:prefLabel "再送信(Resubmit)"@ja ;
    skos:definition "実行履歴から失敗した実行を選び、同じトリガーデータでフローを最初から実行し直す操作。"@ja ;
    ks:requires <https://comcomponent.com/knowledge/flow-run-history/> .

<https://comcomponent.com/knowledge/idempotent-flow-design/> a skos:Concept ;
    skos:prefLabel "冪等な設計"@ja ;
    skos:definition "同じ入力で何度実行しても結果が同じになるよう、処理済みフラグやupsert、トリガー条件などを組み合わせるフローの設計。"@ja ;
    skos:altLabel "idempotent design" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/resubmit-flow-run/> ;
    ks:uses <https://comcomponent.com/knowledge/upsert-pattern/> ;
    ks:uses <https://comcomponent.com/knowledge/trigger-condition/> .

<https://comcomponent.com/knowledge/upsert-pattern/> a skos:Concept ;
    skos:prefLabel "upsert(あれば更新、なければ作成)"@ja ;
    skos:definition "一意になるキーで既存行を検索し、ヒットすれば更新、なければ作成する分岐にする設計パターン。"@ja ;
    skos:altLabel "upsert" .

<https://comcomponent.com/knowledge/trigger-condition/> a skos:Concept ;
    skos:prefLabel "トリガー条件(Trigger Conditions)"@ja ;
    skos:definition "`@`で始まる式でトリガーの起動条件を絞り込み、条件を満たさないイベントではフローの実行自体を発生させないPower Automateの設定。"@ja ;
    skos:altLabel "Trigger Conditions" ;
    skos:altLabel "トリガー条件(trigger conditions)"@ja ;
    ks:prevents <https://comcomponent.com/knowledge/self-trigger-loop/> .

<https://comcomponent.com/knowledge/self-trigger-loop/> a skos:Concept ;
    skos:prefLabel "自己トリガーによる多重起動"@ja ;
    skos:definition "フローが自分自身の書き戻しによって再びトリガーされ、意図せず多重に起動してしまう現象。"@ja ;
    skos:altLabel "フローの自己トリガーによる無限ループ"@ja ;
    skos:altLabel "自己トリガーループ"@ja .

<https://comcomponent.com/knowledge/concurrency-control/> a skos:Concept ;
    skos:prefLabel "同時実行制御(concurrency control)"@ja ;
    skos:definition "トリガー設定で並列実行数(並列度)を1〜100で指定できる、Power Automateの機能。一度オンにすると元に戻せない。"@ja ;
    skos:altLabel "Concurrency Control" ;
    ks:mitigates <https://comcomponent.com/knowledge/dirty-read-in-flow/> .

<https://comcomponent.com/knowledge/dirty-read-in-flow/> a skos:Concept ;
    skos:prefLabel "フロー実行間のダーティリード"@ja ;
    skos:definition "台帳の同じ行を複数のフロー実行が同時に読み書きし、古い値を読んで上書きしてしまう不整合。"@ja ;
    skos:altLabel "dirty read" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cloud-flow/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/azure-logic-apps/> ;
    schema:description "Power Automateのクラウドフローの基盤はAzure Logic Appsであり、リトライポリシーや実行条件の構成などのエラー処理機構はこの基盤の仕様に従う"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/logic-apps/error-exception-handling> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cloud-flow/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/retry-policy/> ;
    schema:description "クラウドフローのアクションの場合、最初から既定のリトライポリシーが組み込まれている。トリガーの失敗にはこの既定リトライは適用されず、フロー自体が起動しないまま終わる。"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/logic-apps/error-exception-handling> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/retry-policy/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/transient-failure/> ;
    schema:description "標準リトライは、要求がタイムアウトするか408・429・5xx応答で失敗したときに指数バックオフで再試行し、接続先の瞬断やスロットリングなど一時的な障害の多くを自動的に解消する"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/logic-apps/error-exception-handling> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/retry-policy/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/data-caused-failure/> ;
    schema:description "400や404のようなデータ・設定起因のエラーは何度リトライしても同じ結果になるため、標準リトライを対処として当てにすべきではない"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/logic-apps/error-exception-handling> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/retry-policy/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/auth-expiry-failure/> ;
    schema:description "認証エラーや接続切れはリトライでは解決せず、再認証というフロー外の操作が必要になる"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/logic-apps/error-exception-handling> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/retry-policy/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/spec-change-failure/> ;
    schema:description "SharePoint列名の変更や接続先APIのバージョン変更のような仕様変更起因の失敗は、フローの修正が必要でリトライでは直らない"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/guidance/planning/reducing-risk> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/scope-try-catch/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/data-caused-failure/> ;
    schema:description "本記事は、想定外の入力など直らないデータ起因の失敗をスコープによるTry-Catchで捕まえて通知する対処を推奨する"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/guidance/coding-guidelines/error-handling> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/scope-try-catch/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/auth-expiry-failure/> ;
    schema:description "権限・認証切れの失敗もTry-Catchで検知し、通知につなげることが推奨される"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/guidance/coding-guidelines/error-handling> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/scope-try-catch/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/run-after-configuration/> ;
    schema:description "スコープによるTry-Catch-Finallyパターンは、各スコープの実行条件の構成(run after)を成功以外の状態に変更することで成り立つ"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/logic-apps/error-exception-handling> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/scope-try-catch/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/terminate-action/> ;
    schema:description "Catch-Finallyパターンでは、Finallyの後片付けを終えたあとTerminateアクションで実行を状態Failedとして終了させ、失敗を実行履歴に残す"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/guidance/coding-guidelines/error-handling> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/auth-expiry-failure/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/flow-auto-disable/> ;
    schema:description "トリガーやアクションが認証切れなどで失敗し続けるフローは14日で自動的にオフにされる"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/limits-and-config> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/auth-expiry-failure/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/flow-suspended/> ;
    schema:description "繰り返しの失敗により、フローがDLPポリシー違反時と同様に中断(suspended)状態になっていることがある"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/fix-connection-failures> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dlp-policy/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/flow-suspended/> ;
    schema:description "DLPポリシーの変更は予告なく即座に適用され、違反したフローを中断(suspended)状態にする"@ja ;
    ks:evidence <https://learn.microsoft.com/power-platform/admin/wp-data-loss-prevention> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/flow-failure-notification/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/data-caused-failure/> ;
    schema:description "実行単位の失敗アラートは接続切れやスロットリングなど「既知の修正方法がある失敗」の場合に限られ、一般的なデータ起因のアクション失敗では送られないため、検知手段として当てにできない"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/understand-flow-failure-notifications> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/flow-auto-disable/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/flow-run-history/> ;
    schema:description "フローが失敗を放置されて自動無効化に近づいていないかは、実行履歴の定期確認で確認できる"@ja ;
    ks:evidence <https://learn.microsoft.com/troubleshoot/power-platform/power-automate/flow-run-issues/missing-runs-or-triggers-history-for-a-flow> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/resubmit-flow-run/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/flow-run-history/> ;
    schema:description "再送信は実行履歴の画面から対象の失敗した実行を開いて選ぶ操作であり、実行履歴を前提とする"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/fix-flow-failures> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/idempotent-flow-design/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/resubmit-flow-run/> ;
    schema:description "再送信はフローを最初から実行し直すため、途中まで成功していた処理も再度実行される。二重に実行されても壊れないよう、冪等な設計を組み込んでおくことが本記事の推奨である"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/fix-flow-failures> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/idempotent-flow-design/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/upsert-pattern/> ;
    schema:description "冪等な設計は、無条件の「作成」ではなく一意キーで検索してあれば更新・なければ作成するupsertの形にすることで実現する"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/guidance/coding-guidelines/error-handling> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/idempotent-flow-design/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/trigger-condition/> ;
    schema:description "冪等な設計は、トリガー条件で自己トリガーなど不要な起動そのものを止めることも含む"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/customize-triggers> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/trigger-condition/> ;
    rdf:predicate ks:prevents ;
    rdf:object <https://comcomponent.com/knowledge/self-trigger-loop/> ;
    schema:description "トリガー条件は、フローが自分自身の書き戻しで再起動するような多重起動を、実行自体を発生させないことで防ぐ"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/customize-triggers> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/idempotent-flow-design/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/concurrency-control/> ;
    schema:description "処理済みフラグやupsertだけでは同時に発生する重複トリガーへの原子的な保護にならないため、並行起動があり得るフローでは同時実行制御で並列度を1にして直列化することを併用する"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/guidance/coding-guidelines/optimize-power-automate-triggers> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/concurrency-control/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/dirty-read-in-flow/> ;
    schema:description "同時実行制御で並列度を1にして直列化すると、複数の実行が台帳の同じ行を同時に読み書きして起きるダーティリードを防げる"@ja ;
    ks:evidence <https://learn.microsoft.com/power-automate/guidance/coding-guidelines/optimize-power-automate-triggers> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .
