@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/csv-file-handling-practical-guide/#article>
    schema:about <https://comcomponent.com/knowledge/csv/>, <https://comcomponent.com/knowledge/textfieldparser/> ;
    schema:mentions <https://comcomponent.com/knowledge/rfc-4180/>, <https://comcomponent.com/knowledge/string-split-csv-parsing/>, <https://comcomponent.com/knowledge/csvhelper/>, <https://comcomponent.com/knowledge/excel/>, <https://comcomponent.com/knowledge/excel-csv-value-interpretation/>, <https://comcomponent.com/knowledge/xlsx-output/>, <https://comcomponent.com/knowledge/csv-injection/>, <https://comcomponent.com/knowledge/csv-injection-sanitization/>, <https://comcomponent.com/knowledge/codepages-encoding-provider/>, <https://comcomponent.com/knowledge/shift-jis/>, <https://comcomponent.com/knowledge/bom/>, <https://comcomponent.com/knowledge/utf8-bom-encoded/>, <https://comcomponent.com/knowledge/utf8-no-bom/>, <https://comcomponent.com/knowledge/csv-mojibake/>, <https://comcomponent.com/knowledge/utf8encoding-class/>, <https://comcomponent.com/knowledge/streaming-csv-read/>, <https://comcomponent.com/knowledge/invariant-culture/>, <https://comcomponent.com/knowledge/dotnet/> .

<https://comcomponent.com/knowledge/csv/> a skos:Concept ;
    skos:prefLabel "CSV(カンマ区切り値)"@ja ;
    skos:definition "カンマで区切ったテキストでデータを表す、業務アプリのシステム間連携で今も広く使われるファイル形式。"@ja ;
    skos:altLabel "Comma-Separated Values" .

<https://comcomponent.com/knowledge/textfieldparser/> a skos:Concept ;
    skos:prefLabel "TextFieldParser"@ja ;
    skos:definition "引用符で囲まれたフィールドを正しく処理し、壊れた行をMalformedLineExceptionとして検出できる、.NET標準の区切り形式テキストパーサー。"@ja ;
    skos:altLabel "Microsoft.VisualBasic.FileIO.TextFieldParser" ;
    ks:implements <https://comcomponent.com/knowledge/rfc-4180/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/csv/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/streaming-csv-read/> .

<https://comcomponent.com/knowledge/rfc-4180/> a skos:Concept ;
    skos:prefLabel "RFC 4180"@ja ;
    skos:definition "CSVの区切り・改行・引用符処理を定める、CSVの事実上の標準仕様を記したIETFの文書。"@ja ;
    skos:altLabel "Common Format and MIME Type for CSV Files" .

<https://comcomponent.com/knowledge/string-split-csv-parsing/> a skos:Concept ;
    skos:prefLabel "String.Split(',')による自作CSVパース"@ja ;
    skos:definition "カンマで文字列を分割するだけの自作CSV読み込み方式。フィールド内のカンマ・改行・引用符を処理できず仕様上壊れる。"@ja ;
    skos:altLabel "Split(',')自作パース"@ja ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/csv/> .

<https://comcomponent.com/knowledge/csvhelper/> a skos:Concept ;
    skos:prefLabel "CsvHelper"@ja ;
    skos:definition "RFC 4180準拠を掲げ、クラスへのマッピングや遅延読み込みに対応する.NET向けの代表的なCSV読み書きライブラリ。"@ja ;
    skos:altLabel "CsvHelper NuGetパッケージ"@ja ;
    ks:implements <https://comcomponent.com/knowledge/rfc-4180/> .

<https://comcomponent.com/knowledge/excel/> a skos:Concept ;
    skos:prefLabel "Excel"@ja ;
    skos:definition "ワークシートの読み書きや自動操作の対象になる、Microsoftの表計算ソフトウェア。CSVファイルを開くと値を数値・日付として解釈する。"@ja ;
    skos:altLabel "Microsoft Excel" ;
    ks:mayCause <https://comcomponent.com/knowledge/excel-csv-value-interpretation/> ;
    ks:uses <https://comcomponent.com/knowledge/csv/> .

<https://comcomponent.com/knowledge/excel-csv-value-interpretation/> a skos:Concept ;
    skos:prefLabel "ExcelによるCSV値の解釈(先頭ゼロ落ち・日付化・指数表記)"@ja ;
    skos:definition "ExcelがCSVを開くときに値を数値や日付として解釈し、先頭ゼロの消失・日付への変換・指数表記化を起こす現象。ダブルクォートで囲んでも防げない。"@ja ;
    skos:altLabel "先頭ゼロ落ち"@ja ;
    skos:altLabel "日付化"@ja ;
    skos:altLabel "指数表記"@ja .

<https://comcomponent.com/knowledge/xlsx-output/> a skos:Concept ;
    skos:prefLabel "xlsx出力"@ja ;
    skos:definition "セルの書式を出力側で制御できる、xlsx形式でのファイル出力。CSVの値解釈問題を根本的に回避できる。"@ja ;
    skos:altLabel "Excelファイル出力"@ja .

<https://comcomponent.com/knowledge/csv-injection/> a skos:Concept ;
    skos:prefLabel "CSVインジェクション"@ja ;
    skos:definition "`=`・`+`・`-`・`@`などで始まるCSVのフィールドが表計算ソフトに数式として解釈され、開いた別の利用者の環境で意図しない処理が実行されうる攻撃。"@ja ;
    skos:altLabel "Formula Injection" .

<https://comcomponent.com/knowledge/csv-injection-sanitization/> a skos:Concept ;
    skos:prefLabel "数式先頭文字の無害化(CSVインジェクション対策)"@ja ;
    skos:definition "数式として解釈されうる先頭文字を持つフィールドの先頭にシングルクォートを付けるなどして、CSVインジェクションを無害化する対策。"@ja ;
    skos:altLabel "先頭文字のエスケープ"@ja ;
    ks:mitigates <https://comcomponent.com/knowledge/csv-injection/> .

<https://comcomponent.com/knowledge/shift-jis/> a skos:Concept ;
    skos:prefLabel "Shift_JIS"@ja ;
    skos:definition "レガシーシステムとの連携で今も使われる日本語の文字コード(コードページ932)。"@ja ;
    skos:altLabel "コードページ932"@ja .

<https://comcomponent.com/knowledge/codepages-encoding-provider/> a skos:Concept ;
    skos:prefLabel "CodePagesEncodingProvider"@ja ;
    skos:definition ".NET(Core)が既定でサポートしないコードページエンコーディングを、Encoding.RegisterProviderで登録して有効化するプロバイダークラス。"@ja ;
    skos:altLabel "System.Text.Encoding.CodePages" .

<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/bom/> a skos:Concept ;
    skos:prefLabel "BOM(Byte Order Mark)"@ja ;
    skos:definition "ファイル先頭に置かれ、どのUnicodeエンコーディングかを示す数バイトの目印。UTF-8はEF BB BF、UTF-16 LEはFF FE、UTF-16 BEはFE FF。"@ja ;
    skos:altLabel "バイトオーダーマーク"@ja ;
    ks:configuredBy <https://comcomponent.com/knowledge/utf8encoding-class/> .

<https://comcomponent.com/knowledge/utf8-bom-encoded/> a skos:Concept ;
    skos:prefLabel "BOM付きUTF-8"@ja ;
    skos:definition "ファイル先頭にBOMを付けたUTF-8。Excelでダブルクリックして開いても文字コードを正しく認識される。"@ja ;
    skos:altLabel "UTF-8 with BOM" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/excel/> ;
    ks:prevents <https://comcomponent.com/knowledge/csv-mojibake/> .

<https://comcomponent.com/knowledge/utf8-no-bom/> a skos:Concept ;
    skos:prefLabel "BOMなしUTF-8"@ja ;
    skos:definition "BOMを付けないUTF-8。システム間連携ではこちらが使われるが、Excelでのダブルクリックでの自動判別は環境によって成功が保証されない。"@ja ;
    skos:altLabel "UTF-8 without BOM" .

<https://comcomponent.com/knowledge/csv-mojibake/> a skos:Concept ;
    skos:prefLabel "CSVの文字化け"@ja ;
    skos:definition "CSVを読み書きするアプリやツール(ExcelやPowerShellのImport-Csv/Export-Csvなど)が文字コードを誤認したり既定エンコーディングと入力が食い違ったりする(BOMなしUTF-8をANSIとして解釈する、Export-Csvの既定ASCIIエンコーディングで書き込むなど)ことで、日本語が正しく表示されない、または失われる現象。"@ja ;
    skos:altLabel "文字コードの誤認による文字化け"@ja .

<https://comcomponent.com/knowledge/utf8encoding-class/> a skos:Concept ;
    skos:prefLabel "UTF8Encodingクラス"@ja ;
    skos:definition "encoderShouldEmitUTF8IdentifierパラメーターでBOM出力の有無を明示的に指定できる.NETのエンコーディングクラス。"@ja ;
    skos:altLabel "System.Text.UTF8Encoding" .

<https://comcomponent.com/knowledge/streaming-csv-read/> a skos:Concept ;
    skos:prefLabel "CSVのストリーミング読み込み"@ja ;
    skos:definition "ファイル全体をメモリに載せず、行や区切りごとに逐次読み込む方式でのCSV処理。引用符内の改行を許す仕様では単純な行分割では壊れる。"@ja ;
    skos:altLabel "大量データの逐次読み込み"@ja .

<https://comcomponent.com/knowledge/invariant-culture/> a skos:Concept ;
    skos:prefLabel "CultureInfo.InvariantCulture"@ja ;
    skos:definition "OSの地域設定(カルチャ)に依存しない数値・日付の書式変換に使う.NETのカルチャ。CSV出力での区切り文字との衝突回避だけでなく、和暦混入の防止やログ出力の検索性維持など、境界を越える日付・数値の文字列表現を固定したい場面で広く使われる。"@ja ;
    skos:altLabel "不変カルチャ"@ja ;
    skos:altLabel "InvariantCulture" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/csv/> .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/csv/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/rfc-4180/> ;
    schema:description "CSVはRFC 4180を事実上の標準仕様として前提とし、区切り・引用符・エスケープの規則が定義される。ただしRFC 4180はあくまで事実上の標準であり、改行がLFのみ・引用符処理をしない・区切りがタブやセミコロンなど、現実のCSVには準拠しない方言も多く存在する"@ja ;
    ks:evidence <https://www.rfc-editor.org/rfc/rfc4180> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/string-split-csv-parsing/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/csv/> ;
    schema:description "String.Split(',')はフィールド内のカンマ・改行・引用符を処理できず仕様上壊れるため、CSVの読み込みには使うべきでない"@ja ;
    ks:evidence <https://www.rfc-editor.org/rfc/rfc4180> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/textfieldparser/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/rfc-4180/> ;
    schema:description "TextFieldParserはHasFieldsEnclosedInQuotesによりRFC 4180相当の引用符処理を実装する"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/microsoft.visualbasic.fileio.textfieldparser> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/textfieldparser/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/csv/> ;
    schema:description ".NET標準の範囲でCSVを正しく読み込む手段として、TextFieldParserの利用が推奨される"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/microsoft.visualbasic.fileio.textfieldparser> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/csvhelper/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/csv/> ;
    schema:description "列とオブジェクトのマッピング・型変換・大量データの性能まで必要な場合は、CsvHelperの導入が推奨される"@ja ;
    ks:evidence <https://joshclose.github.io/CsvHelper/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/csvhelper/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/rfc-4180/> ;
    schema:description "CsvHelperはRFC 4180準拠を明示的に掲げている"@ja ;
    ks:evidence <https://joshclose.github.io/CsvHelper/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/csvhelper/> ;
    rdf:predicate ks:succeeds ;
    rdf:object <https://comcomponent.com/knowledge/textfieldparser/> ;
    schema:description "TextFieldParserでstring[]を受けて自前で型変換している段階を超えたら、CsvHelperが移行先の第一候補になる"@ja ;
    ks:evidence <https://joshclose.github.io/CsvHelper/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/excel/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/excel-csv-value-interpretation/> ;
    schema:description "ExcelはCSVを開くときに値を数値や日付として解釈するため、先頭ゼロ落ち・日付化・指数表記の原因になることがある"@ja ;
    ks:evidence <https://support.microsoft.com/en-us/excel> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/xlsx-output/> ;
    rdf:predicate ks:prevents ;
    rdf:object <https://comcomponent.com/knowledge/excel-csv-value-interpretation/> ;
    schema:description "xlsxはセルの型と書式を出力側で制御できるため、電話番号や商品コードのような列を明示的に文字列型で書き出せば、先頭ゼロ落ちや日付化は起きない。数値型のまま書けばxlsxでも先頭ゼロは失われる"@ja ;
    ks:evidence <https://learn.microsoft.com/office/open-xml/open-xml-sdk> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/xlsx-output/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/excel/> ;
    schema:description "人がExcelで見る・印刷することが主目的なら、CSVではなくxlsx出力が推奨される"@ja ;
    ks:evidence <https://learn.microsoft.com/office/open-xml/open-xml-sdk> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/csv/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/csv-injection/> ;
    schema:description "ユーザーが入力した値をCSVに出力してExcelで開かせるアプリは、CSVインジェクションという攻撃経路を持つことがある"@ja ;
    ks:evidence <https://owasp.org/www-community/attacks/CSV_Injection> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/csv-injection-sanitization/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/csv-injection/> ;
    schema:description "数式として解釈されうる先頭文字にシングルクォートを付けて無害化することで、CSVインジェクションを軽減できる。ただし危険な先頭文字の一覧は表計算ソフトの実装・バージョンによって変わりうるため、既知の文字を列挙するだけの無害化では想定漏れが残り得る"@ja ;
    ks:evidence <https://owasp.org/www-community/attacks/CSV_Injection> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/shift-jis/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/codepages-encoding-provider/> ;
    schema:description ".NET(Core)でShift_JISを扱う場合、Encoding.GetEncoding(\"shift_jis\") を成功させるには、CodePagesEncodingProviderをRegisterProviderで登録する必要がある。この前提は.NET(Core)側の実装事情によるものであり、Shift_JISという文字コード自体が一般にCodePagesEncodingProviderを必要とするわけではない"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.text.codepagesencodingprovider> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dotnet/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/codepages-encoding-provider/> ;
    schema:description ".NET(Core)は既定ではASCII・ISO-8859-1・Unicode系しかサポートしないため、コードページエンコーディングを使うにはCodePagesEncodingProviderの登録が必要になる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.text.codepagesencodingprovider> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/bom/> ;
    rdf:predicate ks:storedIn ;
    rdf:object <https://comcomponent.com/knowledge/csv/> ;
    schema:description "BOMをCSVファイルに含める場合、CSVファイル先頭の3バイト(UTF-8ならEF BB BF)として保存される"@ja ;
    ks:evidence <https://www.unicode.org/faq/utf_bom.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/utf8-bom-encoded/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/excel/> ;
    schema:description "人がExcelでダブルクリックして開くCSVは、BOM付きUTF-8にするのが現在の無難な選択とされる"@ja ;
    ks:evidence <https://support.microsoft.com/en-us/office/opening-csv-utf-8-files-correctly-in-excel-8a935af5-3416-4edd-ba7e-3dfd2bc4a032> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/utf8-no-bom/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/excel/> ;
    schema:description "BOMなしUTF-8のダブルクリックでの自動判別は、Excelのバージョン・OSの地域設定に左右され常に成功するとは公式に案内されていない"@ja ;
    ks:evidence <https://support.microsoft.com/en-us/office/opening-csv-utf-8-files-correctly-in-excel-8a935af5-3416-4edd-ba7e-3dfd2bc4a032> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/utf8-no-bom/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/csv-mojibake/> ;
    schema:description "BOMなしUTF-8のCSVをダブルクリックで開くと、環境によってはANSIとして誤認され文字化けの原因になることがある"@ja ;
    ks:evidence <https://support.microsoft.com/en-us/office/opening-csv-utf-8-files-correctly-in-excel-8a935af5-3416-4edd-ba7e-3dfd2bc4a032> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/utf8-bom-encoded/> ;
    rdf:predicate ks:prevents ;
    rdf:object <https://comcomponent.com/knowledge/csv-mojibake/> ;
    schema:description "BOM付きUTF-8であれば通常どおりUTF-8として認識されるため、文字コードの誤認による文字化けを防げる"@ja ;
    ks:evidence <https://support.microsoft.com/en-us/office/opening-csv-utf-8-files-correctly-in-excel-8a935af5-3416-4edd-ba7e-3dfd2bc4a032> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/bom/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/utf8encoding-class/> ;
    schema:description "BOMを出力するかどうかは、UTF8Encodingクラスのコンストラクター引数encoderShouldEmitUTF8Identifierで構成できる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.text.utf8encoding> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/textfieldparser/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/streaming-csv-read/> ;
    schema:description "TextFieldParserはファイルパスから直接読み込めるため、引用符内の改行を許す仕様のCSVでもファイル全体をメモリに載せずに処理できる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/microsoft.visualbasic.fileio.textfieldparser> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/invariant-culture/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/csv/> ;
    schema:description "CSV出力用の数値・日付変換はOSのカルチャに依存させず、CultureInfo.InvariantCultureを明示することが推奨される"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.globalization.cultureinfo.invariantculture> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/excel/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/csv/> ;
    schema:description "Excelは他システムとのデータ交換や一覧の取り込みでCSVファイルを開く"@ja ;
    ks:evidence <https://support.microsoft.com/en-us/excel> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/csv/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/shift-jis/> ;
    schema:description "レガシーシステムとの連携では、CSVの文字コードとして今もShift_JISが使われることがある"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/api/system.text.codepagesencodingprovider> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .
