@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/2026/03/17/001-cobol-minimum-reading-guide/#article>
    schema:about <https://comcomponent.com/knowledge/cobol/>, <https://comcomponent.com/knowledge/cobol-data-division/>, <https://comcomponent.com/knowledge/comp-3/> ;
    schema:mentions <https://comcomponent.com/knowledge/cobol-procedure-division/>, <https://comcomponent.com/knowledge/cobol-picture-clause/>, <https://comcomponent.com/knowledge/cobol-usage-clause/>, <https://comcomponent.com/knowledge/comp-5/>, <https://comcomponent.com/knowledge/cobol-redefines/>, <https://comcomponent.com/knowledge/cobol-occurs/>, <https://comcomponent.com/knowledge/cobol-occurs-depending-on/>, <https://comcomponent.com/knowledge/cobol-88-level/>, <https://comcomponent.com/knowledge/cobol-copy/>, <https://comcomponent.com/knowledge/copybook/>, <https://comcomponent.com/knowledge/cobol-perform/>, <https://comcomponent.com/knowledge/cobol-scope-terminator/>, <https://comcomponent.com/knowledge/cobol-move/>, <https://comcomponent.com/knowledge/cobol-fixed-format/>, <https://comcomponent.com/knowledge/ibm-enterprise-cobol/>, <https://comcomponent.com/knowledge/ebcdic/>, <https://comcomponent.com/knowledge/cobol-file-status/>, <https://comcomponent.com/knowledge/exec-sql/>, <https://comcomponent.com/knowledge/exec-cics/> .

<https://comcomponent.com/knowledge/cobol/> a skos:Concept ;
    skos:prefLabel "COBOL"@ja ;
    skos:definition "DATA DIVISIONによるレコード定義とPROCEDURE DIVISIONによる処理手順を柱とする、業務システムで使われてきたプログラミング言語。"@ja ;
    skos:altLabel "COBOL言語"@ja ;
    skos:altLabel "Common Business Oriented Language" ;
    ks:uses <https://comcomponent.com/knowledge/cobol-data-division/> ;
    ks:uses <https://comcomponent.com/knowledge/cobol-procedure-division/> .

<https://comcomponent.com/knowledge/cobol-data-division/> a skos:Concept ;
    skos:prefLabel "DATA DIVISION"@ja ;
    skos:definition "COBOLプログラムでレコード定義や作業領域などデータの構造を宣言する部分。"@ja ;
    skos:altLabel "データ部"@ja ;
    ks:uses <https://comcomponent.com/knowledge/cobol-picture-clause/> ;
    ks:uses <https://comcomponent.com/knowledge/cobol-usage-clause/> ;
    ks:uses <https://comcomponent.com/knowledge/cobol-redefines/> ;
    ks:uses <https://comcomponent.com/knowledge/cobol-occurs/> ;
    ks:uses <https://comcomponent.com/knowledge/cobol-88-level/> .

<https://comcomponent.com/knowledge/comp-3/> a skos:Concept ;
    skos:prefLabel "COMP-3(packed decimal)"@ja ;
    skos:definition "1バイトに10進数字を2桁ずつ詰め、最後のバイトだけ下位1桁と符号を格納するCOBOLの数値内部表現。"@ja ;
    skos:altLabel "PACKED-DECIMAL" ;
    skos:altLabel "パックド10進数"@ja .

<https://comcomponent.com/knowledge/cobol-procedure-division/> a skos:Concept ;
    skos:prefLabel "PROCEDURE DIVISION"@ja ;
    skos:definition "COBOLプログラムで実際の処理手順を記述する部分。"@ja ;
    skos:altLabel "手続き部"@ja ;
    ks:uses <https://comcomponent.com/knowledge/cobol-perform/> ;
    ks:uses <https://comcomponent.com/knowledge/cobol-scope-terminator/> ;
    ks:uses <https://comcomponent.com/knowledge/cobol-move/> .

<https://comcomponent.com/knowledge/cobol-picture-clause/> a skos:Concept ;
    skos:prefLabel "PICTURE句(PIC)"@ja ;
    skos:definition "COBOLのデータ項目の形(文字数・桁数・符号の有無・小数点位置など)を指定する句。"@ja ;
    skos:altLabel "PIC句"@ja .

<https://comcomponent.com/knowledge/cobol-usage-clause/> a skos:Concept ;
    skos:prefLabel "USAGE句"@ja ;
    skos:definition "COBOLのデータ項目をどのような内部表現(DISPLAY・COMP・COMP-3など)で保持するかを指定する句。"@ja ;
    skos:altLabel "USAGE" ;
    ks:uses <https://comcomponent.com/knowledge/comp-3/> ;
    ks:uses <https://comcomponent.com/knowledge/comp-5/> .

<https://comcomponent.com/knowledge/comp-5/> a skos:Concept ;
    skos:prefLabel "COMP-5"@ja ;
    skos:definition "PICTUREで指定した桁数ではなく、2/4/8バイトというネイティブな2進数の容量まで値を保持し、切り捨てもそのバイナリのサイズ側で起きるCOBOLの数値内部表現。"@ja ;
    skos:altLabel "COMPUTATIONAL-5" .

<https://comcomponent.com/knowledge/cobol-redefines/> a skos:Concept ;
    skos:prefLabel "REDEFINES句"@ja ;
    skos:definition "同じメモリ領域を別のデータ構造として重ねて定義する、COBOLの句。"@ja ;
    skos:altLabel "REDEFINES" .

<https://comcomponent.com/knowledge/cobol-occurs/> a skos:Concept ;
    skos:prefLabel "OCCURS句"@ja ;
    skos:definition "COBOLで配列(テーブル)を定義する句。"@ja ;
    skos:altLabel "OCCURS" ;
    skos:altLabel "table" .

<https://comcomponent.com/knowledge/cobol-occurs-depending-on/> a skos:Concept ;
    skos:prefLabel "OCCURS DEPENDING ON"@ja ;
    skos:definition "テーブルの要素数を実行時のデータ項目の値に応じて変える、OCCURS句の拡張。"@ja ;
    skos:altLabel "ODO" ;
    skos:altLabel "可変長テーブル"@ja ;
    ks:uses <https://comcomponent.com/knowledge/cobol-occurs/> .

<https://comcomponent.com/knowledge/cobol-88-level/> a skos:Concept ;
    skos:prefLabel "88レベル(条件名)"@ja ;
    skos:definition "直前のデータ項目が特定の値を持つときに真になる、名前付きの条件を宣言するCOBOLのレベル番号。"@ja ;
    skos:altLabel "条件名"@ja ;
    skos:altLabel "condition-name" .

<https://comcomponent.com/knowledge/cobol-copy/> a skos:Concept ;
    skos:prefLabel "COPY文"@ja ;
    skos:definition "コンパイル時に外部のcopybookをソースへ取り込む、COBOLの文。"@ja ;
    skos:altLabel "COPY" ;
    ks:uses <https://comcomponent.com/knowledge/copybook/> .

<https://comcomponent.com/knowledge/copybook/> a skos:Concept ;
    skos:prefLabel "copybook"@ja ;
    skos:definition "COPY文で取り込まれる、レコード定義や共通項目などをまとめた外部ソースファイル。"@ja ;
    skos:altLabel "コピー簿"@ja .

<https://comcomponent.com/knowledge/cobol-perform/> a skos:Concept ;
    skos:prefLabel "PERFORM文"@ja ;
    skos:definition "指定した段落やブロックを呼び出して戻る、COBOLの基本的な制御移動を行う文。"@ja ;
    skos:altLabel "PERFORM" .

<https://comcomponent.com/knowledge/cobol-scope-terminator/> a skos:Concept ;
    skos:prefLabel "スコープ終端子(scope terminator)"@ja ;
    skos:definition "IFやPERFORMなど未終了の文をどこまで閉じるかを決める、明示的なEND-*、または暗黙のスコープ終端子として働くピリオドによる終端の仕組み。"@ja ;
    skos:altLabel "END-IF" ;
    skos:altLabel "暗黙終端のピリオド"@ja .

<https://comcomponent.com/knowledge/cobol-move/> a skos:Concept ;
    skos:prefLabel "MOVE文"@ja ;
    skos:definition "受け側の型に応じて変換・桁合わせ・ゼロ埋め・切り詰め・編集/逆編集などを伴う、COBOLの値の転記を行う文。"@ja ;
    skos:altLabel "MOVE" .

<https://comcomponent.com/knowledge/cobol-fixed-format/> a skos:Concept ;
    skos:prefLabel "固定形式(参照形式)"@ja ;
    skos:definition "ソース行の列位置(一連番号・indicator・Area A・Area B)に構文上の意味を持たせる、COBOLの伝統的なソース記述形式。"@ja ;
    skos:altLabel "fixed format" ;
    skos:altLabel "参照形式"@ja .

<https://comcomponent.com/knowledge/ibm-enterprise-cobol/> a skos:Concept ;
    skos:prefLabel "IBM Enterprise COBOL"@ja ;
    skos:definition "z/OS向けのIBM製COBOLコンパイラー製品で、ライブラリ処理後の入力ソースを書き出すMDECKなど独自のコンパイラーオプションを持つ。"@ja ;
    skos:altLabel "Enterprise COBOL for z/OS" ;
    ks:uses <https://comcomponent.com/knowledge/ebcdic/> .

<https://comcomponent.com/knowledge/ebcdic/> a skos:Concept ;
    skos:prefLabel "EBCDIC"@ja ;
    skos:definition "z/OS系メインフレームで前提とされることが多い文字コード体系で、数字や英字に見えるバイトでもASCIIとはバイト値の対応が異なる。"@ja ;
    skos:altLabel "EBCDIC文字コード"@ja .

<https://comcomponent.com/knowledge/cobol-file-status/> a skos:Concept ;
    skos:prefLabel "FILE STATUS句"@ja ;
    skos:definition "ファイルへの入出力操作ごとの結果コードを受け取る、COBOLのSELECT句で指定するデータ項目。"@ja ;
    skos:altLabel "FILE STATUS" .

<https://comcomponent.com/knowledge/exec-sql/> a skos:Concept ;
    skos:prefLabel "EXEC SQL"@ja ;
    skos:definition "COBOLソースに埋め込まれたSQL文の区間を示す構文で、COBOL側はホスト変数の受け渡しを担う。"@ja ;
    skos:altLabel "埋め込みSQL"@ja .

<https://comcomponent.com/knowledge/exec-cics/> a skos:Concept ;
    skos:prefLabel "EXEC CICS"@ja ;
    skos:definition "CICSのトランザクション処理をCOBOLソースの中で呼び出す構文で、画面・応答コード・COMMAREAなど外部文脈込みで読む必要がある。"@ja ;
    skos:altLabel "CICSコマンド"@ja .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-data-division/> ;
    schema:description "COBOLはPROCEDURE DIVISIONだけ読んでも半分しか分からず、まずDATA DIVISIONでレコードの形を押さえる必要があるほど、レコード定義中心の言語である。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-zos/6.3.0?topic=division-procedure-structure> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-procedure-division/> ;
    schema:description "COBOLプログラムは実際の処理手順をPROCEDURE DIVISIONに記述する。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-zos/6.4.0?topic=statements-perform-statement> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol-data-division/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-picture-clause/> ;
    schema:description "DATA DIVISIONの各データ項目は、PICTURE句でその形(文字数・桁数・符号の有無)を指定する。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-zos/6.3.0?topic=data-examples-numeric-internal-representation> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol-data-division/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-usage-clause/> ;
    schema:description "DATA DIVISIONの各データ項目は、USAGE句でDISPLAYやCOMP-3のような内部表現を指定する。"@ja ;
    ks:evidence <https://www.ibm.com/docs/ja/cobol-zos/6.4.0?topic=v6-packed-decimal-comp-3> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol-usage-clause/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/comp-3/> ;
    schema:description "USAGE句の値の1つがCOMP-3(PACKED-DECIMAL)で、金額・件数・レート系の項目でよく使われる。"@ja ;
    ks:evidence <https://www.ibm.com/docs/ja/cobol-zos/6.4.0?topic=v6-packed-decimal-comp-3> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol-usage-clause/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/comp-5/> ;
    schema:description "USAGE句の値の1つがCOMP-5で、PICTUREの桁数ではなくネイティブな2進数の容量まで値を保持する。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-zos/6.4.0?topic=clause-computational-items> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol-data-division/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-redefines/> ;
    schema:description "DATA DIVISIONではREDEFINES句で、同じメモリ領域を別のレコード種別として重ねて定義できる。"@ja ;
    ks:evidence <https://www.ibm.com/docs/ja/cobol-zos/6.4.0?topic=entry-redefines-clause> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol-data-division/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-occurs/> ;
    schema:description "DATA DIVISIONではOCCURS句で配列(テーブル)を定義できる。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-zos/6.4.0?topic=clause-occurs-depending> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol-occurs-depending-on/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-occurs/> ;
    schema:description "OCCURS DEPENDING ONはOCCURS句を拡張し、要素数を実行時の値に応じて可変にする。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-zos/6.4.0?topic=clause-occurs-depending> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol-data-division/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-88-level/> ;
    schema:description "DATA DIVISIONでは88レベルで、直前項目の値に名前を付けた条件名を宣言できる。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-zos/6.3.0?topic=vc-format-2> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-copy/> ;
    schema:description "COBOLソースはCOPY文でcopybookをコンパイル時に取り込むことができ、その場合いま開いているソースはまだ完成形ではない。"@ja ;
    ks:evidence <https://www.ibm.com/docs/ja/cobol-linux-x86/1.2.0?topic=statements-copy-statement> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol-copy/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/copybook/> ;
    schema:description "COPY文は、レコード定義や共通フラグなどをまとめたcopybookという外部ソースファイルを取り込む。"@ja ;
    ks:evidence <https://www.ibm.com/docs/ja/cobol-linux-x86/1.2.0?topic=statements-copy-statement> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol-procedure-division/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-perform/> ;
    schema:description "PROCEDURE DIVISIONの主な制御移動はPERFORM文で、段落やブロックを呼んで戻る。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-zos/6.4.0?topic=statements-perform-statement> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol-procedure-division/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-scope-terminator/> ;
    schema:description "PROCEDURE DIVISIONの文は、END-IFなどの明示的な終端か、暗黙のスコープ終端子であるピリオドで閉じられる。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-aix/5.1.0?topic=division-scope-terminators> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol-procedure-division/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-move/> ;
    schema:description "PROCEDURE DIVISIONのMOVE文は単純代入ではなく、受け側の型に応じた変換・桁合わせ・ゼロ埋め・切り詰めを伴うことがある。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-zos/6.3.0?topic=moves-elementary-move-rules> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-fixed-format/> ;
    schema:description "古いCOBOLソースは、列位置(一連番号・indicator・Area A・Area B)に意味を持たせる固定形式で書かれていることがある。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-zos/6.4.0?topic=structure-reference-format> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ibm-enterprise-cobol/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/ebcdic/> ;
    schema:description "z/OS系(IBM Enterprise COBOL)ではEBCDICが文字コードの前提になる。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/zos-basic-skills?topic=mainframe-ebcdic-character-set> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ibm-enterprise-cobol/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-fixed-format/> ;
    schema:description "z/OS系(IBM Enterprise COBOL)ではfixed形式が伝統的な既定の参照形式であり、free形式も選べる。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-zos/6.4.0?topic=structure-reference-format> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol-file-status/> ;
    schema:description "ファイル入出力の結果コードを見るため、COBOLはSELECT句でFILE STATUS項目を指定できる。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-linux-x86/1.2.0?topic=section-file-status-clause> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/exec-sql/> ;
    schema:description "COBOLソースにはEXEC SQLで埋め込みSQLを書けることがあり、その場合COBOLはホスト変数の器になる。"@ja ;
    ks:evidence <https://www.ibm.com/docs/en/cobol-zos/6.4.0> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/cobol/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/exec-cics/> ;
    schema:description "COBOLソースにはEXEC CICSでCICSのトランザクション処理を書けることがあり、その場合は画面・応答コード・COMMAREAなど外部文脈込みで読む必要がある。"@ja ;
    ks:evidence <https://www.ibm.com/docs/ja/cobol-zos/6.3.0?topic=cics-coding-cobol-programs-run-under> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .
