@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/webview2-embed-web-ui-in-windows-apps/#article>
    schema:about <https://comcomponent.com/knowledge/webview2/>, <https://comcomponent.com/knowledge/activex/> ;
    schema:mentions <https://comcomponent.com/knowledge/ie-mode/>, <https://comcomponent.com/knowledge/microsoft-edge/>, <https://comcomponent.com/knowledge/com/>, <https://comcomponent.com/knowledge/dotnet/>, <https://comcomponent.com/knowledge/dotnet-framework/>, <https://comcomponent.com/knowledge/windows-forms/>, <https://comcomponent.com/knowledge/closed-network/>, <https://comcomponent.com/knowledge/webview2-evergreen-runtime/>, <https://comcomponent.com/knowledge/webview2-fixed-version/>, <https://comcomponent.com/knowledge/webview2-user-data-folder/>, <https://comcomponent.com/knowledge/webview2-initialization-failure/>, <https://comcomponent.com/knowledge/webview2-web-messaging/>, <https://comcomponent.com/knowledge/webview2-host-object/>, <https://comcomponent.com/knowledge/webview2-navigation-whitelist/>, <https://comcomponent.com/knowledge/activex-native-reimplementation/>, <https://comcomponent.com/knowledge/untrusted-web-content/> .

<https://comcomponent.com/knowledge/webview2/> a skos:Concept ;
    skos:prefLabel "Microsoft Edge WebView2"@ja ;
    skos:definition "Chromiumベースのランタイムを使ってWindowsアプリにWeb描画エンジンを埋め込む仕組み。WebBrowserコントロールの完全な差し替え部品ではない。"@ja ;
    skos:altLabel "WebView2" ;
    ks:uses <https://comcomponent.com/knowledge/microsoft-edge/> ;
    ks:incompatibleWith <https://comcomponent.com/knowledge/activex/> ;
    ks:requires <https://comcomponent.com/knowledge/webview2-user-data-folder/> ;
    ks:uses <https://comcomponent.com/knowledge/webview2-web-messaging/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/webview2-navigation-whitelist/> .

<https://comcomponent.com/knowledge/activex/> a skos:Concept ;
    skos:prefLabel "ActiveX"@ja ;
    skos:definition "実務ではCOMベースのコントロールやその周辺資産をまとめて指す言葉として使われる技術群。特に.ocx形式のUIコントロールやIE/コンテナへ埋め込む部品を含むことが多い。"@ja ;
    skos:altLabel "ActiveXコントロール"@ja ;
    skos:broader <https://comcomponent.com/knowledge/com/> .

<https://comcomponent.com/knowledge/microsoft-edge/> a skos:Concept ;
    skos:prefLabel "Microsoft Edge"@ja ;
    skos:definition "Chromiumベースのマイクロソフト製ブラウザー。本体はActiveXをサポートしない。"@ja ;
    skos:altLabel "Edge" .

<https://comcomponent.com/knowledge/ie-mode/> a skos:Concept ;
    skos:prefLabel "IEモード"@ja ;
    skos:definition "設定されたサイトに対してMicrosoft Edgeが IE系のエンジンを使い、ActiveXを含む一部のIE機能を動かすための互換レイヤー。延命策として位置づけられる。"@ja ;
    skos:altLabel "Internet Explorer mode" ;
    skos:broader <https://comcomponent.com/knowledge/microsoft-edge/> ;
    ks:uses <https://comcomponent.com/knowledge/activex/> .

<https://comcomponent.com/knowledge/windows-forms/> a skos:Concept ;
    skos:prefLabel "Windows Forms"@ja ;
    skos:definition "デスクトップGUIアプリケーションを構築するための.NET/.NET FrameworkのUIフレームワーク。"@ja ;
    skos:altLabel "WinForms" .

<https://comcomponent.com/knowledge/webview2-user-data-folder/> a skos:Concept ;
    skos:prefLabel "ユーザーデータフォルダー(UDF)"@ja ;
    skos:definition "WebView2がCookie・キャッシュ・権限などを保存する場所。既定ではexeの隣に作られるため、%LOCALAPPDATA%配下のアプリ専用フォルダーを明示指定するのが定石とされる。"@ja ;
    skos:altLabel "UDF" ;
    skos:altLabel "User Data Folder" .

<https://comcomponent.com/knowledge/webview2-initialization-failure/> a skos:Concept ;
    skos:prefLabel "WebView2の初期化エラー"@ja ;
    skos:definition "ユーザーデータフォルダーの既定の保存先に書き込めないことなどが原因で、WebView2アプリの起動時に発生する初期化エラー。Program Files配下にインストールしたアプリで典型的に起きる。"@ja .

<https://comcomponent.com/knowledge/webview2-evergreen-runtime/> a skos:Concept ;
    skos:prefLabel "Evergreenランタイム"@ja ;
    skos:definition "クライアントにインストールされた共有のWebView2ランタイムを全WebView2アプリが使い、自動更新される配布方式。セキュリティパッチが自動で当たりディスク消費も小さいため、公式が明確に推奨している。"@ja ;
    skos:altLabel "Evergreen" .

<https://comcomponent.com/knowledge/webview2-fixed-version/> a skos:Concept ;
    skos:prefLabel "Fixed Versionランタイム"@ja ;
    skos:definition "特定バージョンのWebView2ランタイムをアプリに同梱する配布方式。動作検証済みの構成を凍結できる一方、同梱物が250MBを超え、ブラウザーエンジンの脆弱性修正を自分のリリースで配る責任を負う。"@ja ;
    skos:altLabel "Fixed Version" ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/webview2/> .

<https://comcomponent.com/knowledge/closed-network/> a skos:Concept ;
    skos:prefLabel "閉域ネットワーク"@ja ;
    skos:definition "インターネットに接続せずに運用する隔離されたネットワーク。"@ja ;
    skos:altLabel "オフライン環境"@ja ;
    skos:altLabel "切断環境"@ja .

<https://comcomponent.com/knowledge/webview2-web-messaging/> a skos:Concept ;
    skos:prefLabel "Webメッセージ連携(PostWebMessageAsJson/WebMessageReceived)"@ja ;
    skos:definition "ネイティブ側のPostWebMessageAsJson/WebMessageReceivedと、Web側のwindow.chrome.webview.postMessage/messageイベントによる、ネイティブとWebページの間の疎結合なメッセージ交換の仕組み。"@ja ;
    skos:altLabel "PostWebMessageAsJson" ;
    skos:altLabel "WebMessageReceived" .

<https://comcomponent.com/knowledge/webview2-host-object/> a skos:Concept ;
    skos:prefLabel "ホストオブジェクト公開(AddHostObjectToScript)"@ja ;
    skos:definition "AddHostObjectToScriptを使い、.NET/COMオブジェクトをJavaScriptから直接呼び出せるようにするWebView2の連携手段。Webメッセージより強力だが、ページが侵害されたときの影響が大きい。"@ja ;
    skos:altLabel "AddHostObjectToScript" ;
    ks:uses <https://comcomponent.com/knowledge/com/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/untrusted-web-content/> .

<https://comcomponent.com/knowledge/com/> a skos:Concept ;
    skos:prefLabel "COM(コンポーネントオブジェクトモデル)"@ja ;
    skos:definition "公開インターフェース、レジストリ登録、Apartment Modelなどを土台にした、Windowsのバイナリ互換コンポーネントモデル。"@ja ;
    skos:altLabel "Component Object Model" .

<https://comcomponent.com/knowledge/webview2-navigation-whitelist/> a skos:Concept ;
    skos:prefLabel "遷移先ホワイトリスト検査(NavigationStarting)"@ja ;
    skos:definition "NavigationStartingイベントで遷移先を社内ドメインのホワイトリストと照合し、想定外のURLは既定ブラウザーへ逃がすセキュリティ設計。"@ja ;
    skos:altLabel "NavigationStarting" .

<https://comcomponent.com/knowledge/activex-native-reimplementation/> a skos:Concept ;
    skos:prefLabel "ActiveX機能のネイティブ再実装"@ja ;
    skos:definition "IEモードのActiveXが担っていたシリアル通信・ファイルアクセス・専用機器制御などの処理を、WebView2のホストアプリ側(ネイティブ側)へ移し、Webメッセージ経由で呼び出せるようにする再設計。"@ja ;
    ks:succeeds <https://comcomponent.com/knowledge/activex/> ;
    ks:requires <https://comcomponent.com/knowledge/webview2-web-messaging/> .

<https://comcomponent.com/knowledge/dotnet/> a skos:Concept ;
    skos:prefLabel ".NET(Core以降)"@ja ;
    skos:definition ".NET Frameworkの後継となる、クロスプラットフォーム対応の.NETランタイム(.NET 5以降)。"@ja ;
    skos:altLabel ".NET Core" ;
    skos:altLabel "モダンな.NET"@ja .

<https://comcomponent.com/knowledge/dotnet-framework/> a skos:Concept ;
    skos:prefLabel ".NET Framework"@ja ;
    skos:definition "Windowsのコンポーネントとして扱われ、インストールされているOSのライフサイクルに沿ってサポートされるランタイム。System.Messagingの対象範囲。"@ja .

<https://comcomponent.com/knowledge/untrusted-web-content/> a skos:Concept ;
    skos:prefLabel "信頼できないWebコンテンツ"@ja ;
    skos:definition "自社が管理しておらず、内容の安全性を保証できない任意のWebページ。侵害されている可能性を排除できないコンテンツ。"@ja .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/microsoft-edge/> ;
    schema:description "WebView2はChromiumベースのMicrosoft Edgeを、WinForms/WPF/WinUI/Win32 C++から使えるコントロールとして埋め込む。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/concepts/overview-features-apis> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/activex/> ;
    schema:description "WebView2はChromiumでありActiveXをホストする仕組みを持たないため、ActiveXは動作しない。"@ja ;
    ks:evidence <https://learn.microsoft.com/deployedge/edge-ie-mode> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ie-mode/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/activex/> ;
    schema:description "IEモードはEdgeの中で本物のIE11(Tridentエンジン)を動かし、ActiveXコントロールやブラウザーヘルパーオブジェクトをそのまま動作させる。"@ja ;
    ks:evidence <https://learn.microsoft.com/deployedge/edge-ie-mode> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/windows-forms/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/webview2/> ;
    schema:description "既存のWinForms業務アプリにWeb UIを段階的に組み込む場合、1画面だけをWebView2にするといった構成ができる。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/webview2-user-data-folder/> ;
    schema:description "WebView2はCookie・キャッシュ・権限などをユーザーデータフォルダーに保存する。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/concepts/user-data-folder> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2-user-data-folder/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/webview2-initialization-failure/> ;
    schema:description "UDFの既定位置はexeの隣であり、Program Files配下にインストールしたアプリでは書き込みに失敗し初期化エラーになる。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/concepts/user-data-folder> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/webview2-evergreen-runtime/> ;
    schema:description "ランタイムの提供方法としてEvergreenを選んだ場合、WebView2はクライアントにインストールされた共有ランタイムを使う。特定バージョンをアプリへ同梱するFixed Versionを選んだ場合は共有ランタイムを参照しない。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/concepts/evergreen-vs-fixed-version> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/webview2-fixed-version/> ;
    schema:description "オフライン環境や検証済み構成を固定したい場面では、特定バージョンのランタイムをアプリに同梱するFixed Versionを使うこともできる。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/concepts/evergreen-vs-fixed-version> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2-fixed-version/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/closed-network/> ;
    schema:description "Fixed Versionは動作検証済みの構成を凍結できるため、オフラインの製造装置や変更管理が厳格な環境では合理的な選択になる。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/concepts/developer-guide> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2-fixed-version/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/webview2/> ;
    schema:description "同梱物が250MBを超えるうえ脆弱性修正を自分のリリースで配る責任を負うため、限定的な場面を除きWebView2アプリの既定選択としては安易に選ぶべきではない。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/concepts/evergreen-vs-fixed-version> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/webview2-web-messaging/> ;
    schema:description "ネイティブとWebの連携は、PostWebMessageAsJson/WebMessageReceivedによるWebメッセージ交換を既定の手段にする。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/get-started/winforms> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/webview2-host-object/> ;
    schema:description "JavaScriptからネイティブ側を呼ぶ橋渡しが要る場合にAddHostObjectToScriptで.NET/COMオブジェクトを公開でき、公開は自社管理のコンテンツに限定すべきとされる。橋渡しが不要なアプリはホストオブジェクトを公開しない"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/concepts/overview-features-apis> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2-host-object/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/com/> ;
    schema:description "AddHostObjectToScriptによるホストオブジェクト公開は、内部的にCOMの仕組みで動く。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/concepts/overview-features-apis> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/webview2-navigation-whitelist/> ;
    schema:description "WebView2は表示するコンテンツを、NavigationStartingでの遷移先ホワイトリスト検査によって限定できる。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/concepts/overview-features-apis> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/activex-native-reimplementation/> ;
    rdf:predicate ks:succeeds ;
    rdf:object <https://comcomponent.com/knowledge/activex/> ;
    schema:description "WebView2導入では、ActiveXが担っていたシリアル通信・ファイルアクセス・専用機器制御などの機能をネイティブ側(ホストアプリ)へ移し、ActiveXの代替とする。"@ja ;
    ks:evidence <https://learn.microsoft.com/deployedge/edge-ie-mode> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/activex-native-reimplementation/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/webview2-web-messaging/> ;
    schema:description "ネイティブ側へ移植したActiveX由来の機能は、Webメッセージ経由でWeb側から呼び出す設計にする。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/concepts/overview-features-apis> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/dotnet/> ;
    schema:description "ホストを.NET(Core以降)で作る場合、WebView2は3.1以降から利用できる。Win32 C++やWinUIでホストすることもでき、いずれかを選ぶ"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/dotnet-framework/> ;
    schema:description "ホストを.NET Frameworkで作る場合、WebView2は4.6.2以降から利用できる。Win32 C++やWinUI、.NET(Core以降)でホストすることもでき、いずれかを選ぶ"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/webview2-host-object/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/untrusted-web-content/> ;
    schema:description "信頼できないコンテンツを表示しうるWebViewには、AddHostObjectToScriptで公開するホストオブジェクトを登録しないのが原則。"@ja ;
    ks:evidence <https://learn.microsoft.com/microsoft-edge/webview2/concepts/overview-features-apis> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .
