@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/adr-architecture-decision-record-small-teams/#article>
    schema:about <https://comcomponent.com/knowledge/adr/> ;
    schema:mentions <https://comcomponent.com/knowledge/adr-status/>, <https://comcomponent.com/knowledge/code-repository/>, <https://comcomponent.com/knowledge/code-review/>, <https://comcomponent.com/knowledge/undocumented-decision-loss/>, <https://comcomponent.com/knowledge/hard-to-reverse-decision/>, <https://comcomponent.com/knowledge/coding-convention/>, <https://comcomponent.com/knowledge/brownfield-adoption/>, <https://comcomponent.com/knowledge/adr-consequences/>, <https://comcomponent.com/knowledge/adr-supersede-pattern/>, <https://comcomponent.com/knowledge/azure-well-architected-framework/>, <https://comcomponent.com/knowledge/adr-context/>, <https://comcomponent.com/knowledge/constraint-driven-decision/> .

<https://comcomponent.com/knowledge/adr/> a skos:Concept ;
    skos:prefLabel "ADR(Architecture Decision Record)"@ja ;
    skos:definition "ソフトウェアの構造に関わる1つの決定を、タイトル・ステータス・コンテキスト・決定・結果という定型で1ファイルに記録する軽量なドキュメント形式である。"@ja ;
    skos:altLabel "Architecture Decision Record" ;
    skos:altLabel "アーキテクチャ決定記録"@ja ;
    ks:requires <https://comcomponent.com/knowledge/adr-status/> ;
    ks:mitigates <https://comcomponent.com/knowledge/undocumented-decision-loss/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/hard-to-reverse-decision/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/coding-convention/> ;
    ks:requires <https://comcomponent.com/knowledge/adr-consequences/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/brownfield-adoption/> ;
    ks:requires <https://comcomponent.com/knowledge/adr-context/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/constraint-driven-decision/> .

<https://comcomponent.com/knowledge/adr-status/> a skos:Concept ;
    skos:prefLabel "ADRのステータス"@ja ;
    skos:definition "ADRが持つ状態を表す要素で、提案中から承認済みへ進み、方針を覆すときは廃止または置き換え済みへ遷移する。"@ja ;
    skos:altLabel "Proposed/Accepted/Superseded" ;
    skos:altLabel "提案中・承認済み・廃止・置き換え済み"@ja ;
    skos:broader <https://comcomponent.com/knowledge/adr/> .

<https://comcomponent.com/knowledge/code-repository/> a skos:Concept ;
    skos:prefLabel "コードリポジトリ"@ja ;
    skos:definition "ソースコードをバージョン管理するリポジトリで、ADRはこの中にコードと同じ場所で保管される。"@ja ;
    skos:altLabel "ソースコードリポジトリ"@ja ;
    skos:altLabel "Gitリポジトリ"@ja .

<https://comcomponent.com/knowledge/code-review/> a skos:Concept ;
    skos:prefLabel "コードレビュー(プルリクエストレビュー)"@ja ;
    skos:definition "プルリクエスト単位でコードの変更内容を他者が確認する開発プロセスである。"@ja ;
    skos:altLabel "プルリクエストレビュー"@ja ;
    skos:altLabel "Pull Request Review" .

<https://comcomponent.com/knowledge/undocumented-decision-loss/> a skos:Concept ;
    skos:prefLabel "記録されない決定の忘却"@ja ;
    skos:definition "設計判断の理由が記録されないと時間とともに忘れられ、同じ議論の蒸し返しや当初の意図に反する変更を招くという問題である。"@ja ;
    skos:altLabel "Undocumented Decision Loss" .

<https://comcomponent.com/knowledge/hard-to-reverse-decision/> a skos:Concept ;
    skos:prefLabel "後戻りが難しい決定"@ja ;
    skos:definition "データベースや通信方式の選定など、システムの構造や重要な品質特性に影響し、後から変更するコストが大きい設計判断である。"@ja ;
    skos:altLabel "変更コストの大きい技術選定"@ja .

<https://comcomponent.com/knowledge/coding-convention/> a skos:Concept ;
    skos:prefLabel "規約・フォーマット設定"@ja ;
    skos:definition "命名規則やコードフォーマッタの設定など、ツールや規約で機械的に統一できる決め事である。"@ja ;
    skos:altLabel "命名規則"@ja ;
    skos:altLabel "フォーマッタ設定"@ja .

<https://comcomponent.com/knowledge/adr-consequences/> a skos:Concept ;
    skos:prefLabel "結果(Consequences、ADRの要素)"@ja ;
    skos:definition "決定によって良くなること・悪くなることの両方と、見直しの契機となる条件を書く、ADRの構成要素である。"@ja ;
    skos:altLabel "Consequences" ;
    skos:broader <https://comcomponent.com/knowledge/adr/> .

<https://comcomponent.com/knowledge/brownfield-adoption/> a skos:Concept ;
    skos:prefLabel "既存(ブラウンフィールド)システムへの導入"@ja ;
    skos:definition "すでに稼働しているシステムに対して、後から決定記録の仕組みを導入することである。"@ja ;
    skos:altLabel "Brownfield" ;
    skos:altLabel "既存ワークロードへの適用"@ja .

<https://comcomponent.com/knowledge/adr-supersede-pattern/> a skos:Concept ;
    skos:prefLabel "Supersededによる置き換えパターン"@ja ;
    skos:definition "決定を変更する際に古いADRを書き換えず、ステータスをSupersededに変えて新しいADRへの参照を付ける運用パターンである。"@ja ;
    skos:altLabel "Superseded Pattern" ;
    skos:altLabel "追記専用のログ"@ja ;
    skos:broader <https://comcomponent.com/knowledge/adr/> ;
    ks:requires <https://comcomponent.com/knowledge/adr-status/> ;
    ks:mitigates <https://comcomponent.com/knowledge/undocumented-decision-loss/> .

<https://comcomponent.com/knowledge/azure-well-architected-framework/> a skos:Concept ;
    skos:prefLabel "Azure Well-Architected Framework"@ja ;
    skos:definition "Microsoftが提供する、クラウドワークロードの設計品質を高めるためのアーキテクチャガイダンス群である。"@ja ;
    skos:altLabel "WAF" ;
    skos:altLabel "Well-Architected Framework" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/adr/> .

<https://comcomponent.com/knowledge/adr-context/> a skos:Concept ;
    skos:prefLabel "コンテキスト(ADRの要素)"@ja ;
    skos:definition "なぜその決定が必要になったかという技術的・業務的な前提、制約、検討した選択肢を書く、ADRの構成要素である。"@ja ;
    skos:altLabel "Context" ;
    skos:broader <https://comcomponent.com/knowledge/adr/> .

<https://comcomponent.com/knowledge/constraint-driven-decision/> a skos:Concept ;
    skos:prefLabel "制約が決め手になった決定"@ja ;
    skos:definition "予算・納期・既存資産・顧客環境や外部システムとの取り決めといった、コードの外にある制約が決め手になった設計判断である。"@ja ;
    skos:altLabel "外部との取り決め"@ja ;
    skos:altLabel "External Constraint Decision" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/adr-status/> ;
    schema:description "ADRはタイトル・ステータス・コンテキスト・決定・結果の5要素の1つとしてステータスを持ち、提案中から承認済みへ進み、覆すときは廃止・置き換え済みにする"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr/> ;
    rdf:predicate ks:storedIn ;
    rdf:object <https://comcomponent.com/knowledge/code-repository/> ;
    schema:description "この記事が推奨する運用(Wikiや共有フォルダーではなく)では、ADRはコードと同じリポジトリにMarkdownとしてコミットし、バージョン管理下に置く"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/code-review/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/adr/> ;
    schema:description "ADRの追加・更新をプルリクエストのコードレビューに含めることが実務上推奨される"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/undocumented-decision-loss/> ;
    schema:description "記録されなかった決定は忘れられ、同じ議論の蒸し返しや当初の意図に反する変更を招くため、ADRはこれを防ぐ記録として機能する"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/hard-to-reverse-decision/> ;
    schema:description "システムの構造や重要な品質特性に影響し後戻りが難しい決定は、ADRに記録することが推奨される"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/coding-convention/> ;
    schema:description "命名規則やフォーマッタ設定のように機械的に統一できる規約は、ADRの対象にしない"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/adr-consequences/> ;
    schema:description "ADRの結果(Consequences)には決定の帰結を意図的にも偶発的にも隠さず、トレードオフを記す"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/brownfield-adoption/> ;
    schema:description "既存(ブラウンフィールド)のワークロードでも、把握できている過去の決定を遡って記録する価値がある"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr-supersede-pattern/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/adr-status/> ;
    schema:description "Supersededによる置き換えは、古いADRのステータス行をSupersededに変え新しいADRへの参照を付けることで成立する"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/adr-supersede-pattern/> ;
    schema:description "決定を覆すときはADRを上書きせず、Supersededパターンで新しいADRに置き換える。この関係が生じるのは決定を覆す場合に限られ、単に新しい決定を記録するだけのADRにはSupersededパターンは関与しない"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr-supersede-pattern/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/undocumented-decision-loss/> ;
    schema:description "Supersededパターンは古い記録を残したまま置き換えるため、いつ・なぜ方針が変わったかという履歴自体が失われるのを防ぐ"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/azure-well-architected-framework/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/adr/> ;
    schema:description "Azure Well-Architected FrameworkはADRの維持をアーキテクトの役割のガイダンスとして推奨している"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/adr-context/> ;
    schema:description "ADRのコンテキストには、決定が必要になった技術的・業務的な前提や制約、検討した選択肢を書く"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/constraint-driven-decision/> ;
    schema:description "予算・納期・既存資産・顧客環境の制約が決め手になった決定や、外部との取り決めはADRに書くことが推奨される"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/adr-supersede-pattern/> ;
    rdf:predicate ks:storedIn ;
    rdf:object <https://comcomponent.com/knowledge/code-repository/> ;
    schema:description "ADRをコードリポジトリで管理するこの記事の運用では、Supersededによる置き換えでも古いADRは削除せず、コードリポジトリ内にそのまま残す"@ja ;
    ks:evidence <https://learn.microsoft.com/azure/well-architected/architect-role/architecture-decision-record> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .
