@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/orca-api-source-reading/#article>
    schema:about <https://comcomponent.com/knowledge/orca-api/> ;
    schema:mentions <https://comcomponent.com/knowledge/orca/>, <https://comcomponent.com/knowledge/montsuqi/>, <https://comcomponent.com/knowledge/lddef/>, <https://comcomponent.com/knowledge/bindapi-declaration/>, <https://comcomponent.com/knowledge/bind-declaration/>, <https://comcomponent.com/knowledge/record-db-definition/>, <https://comcomponent.com/knowledge/cobol/>, <https://comcomponent.com/knowledge/undocumented-orca-api/>, <https://comcomponent.com/knowledge/orca-source-license/>, <https://comcomponent.com/knowledge/orca-monthly-source-snapshot/>, <https://comcomponent.com/knowledge/orca-source-diff-monitoring/>, <https://comcomponent.com/knowledge/undetected-api-change/>, <https://comcomponent.com/knowledge/orca-api-ruby-library/>, <https://comcomponent.com/knowledge/orca-official-api-list/> .

<https://comcomponent.com/knowledge/orca-api/> a skos:Concept ;
    skos:prefLabel "日レセAPI"@ja ;
    skos:definition "ORCAが外部システム向けに提供するAPI群。5.2系ソース(2026年7月スナップショット)ではlddefのbindapi宣言を数えると137エンドポイントが実在する。"@ja ;
    skos:altLabel "日レセAPI全体像"@ja ;
    skos:altLabel "ORCA API" ;
    ks:storedIn <https://comcomponent.com/knowledge/lddef/> ;
    ks:uses <https://comcomponent.com/knowledge/record-db-definition/> .

<https://comcomponent.com/knowledge/orca/> a skos:Concept ;
    skos:prefLabel "ORCA(日医標準レセプトソフト/日レセ)"@ja ;
    skos:definition "日本医師会が提供する「日医標準レセプトソフト」の略称。ソースコードが公開されているレセプトコンピューター。"@ja ;
    skos:altLabel "日レセ"@ja ;
    skos:altLabel "日医標準レセプトソフト"@ja ;
    ks:implements <https://comcomponent.com/knowledge/orca-api/> ;
    ks:uses <https://comcomponent.com/knowledge/montsuqi/> ;
    ks:uses <https://comcomponent.com/knowledge/cobol/> .

<https://comcomponent.com/knowledge/montsuqi/> a skos:Concept ;
    skos:prefLabel "MONTSUQI(モンツキ)"@ja ;
    skos:definition "日レセが載っている、Linux上で動作するオープンソースのOLTP(オンライントランザクション処理)モニタ。画面クライアントやAPIからの要求を受け、担当のCOBOLプログラムに処理を渡す。"@ja ;
    ks:uses <https://comcomponent.com/knowledge/lddef/> .

<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" .

<https://comcomponent.com/knowledge/lddef/> a skos:Concept ;
    skos:prefLabel "LD定義ファイル(lddef/*.ld)"@ja ;
    skos:definition "どのURL(画面・API)をどのCOBOLプログラムが処理するかを宣言する、ORCAソース中のディスパッチ表。5.2系スナップショットでは40本あり、うち27本にbindapi定義を持つ。"@ja ;
    skos:altLabel "lddef" ;
    ks:uses <https://comcomponent.com/knowledge/bindapi-declaration/> ;
    ks:uses <https://comcomponent.com/knowledge/bind-declaration/> .

<https://comcomponent.com/knowledge/bindapi-declaration/> a skos:Concept ;
    skos:prefLabel "bindapi宣言"@ja ;
    skos:definition "LD定義の中でAPIの入口を1行ずつ宣言する行。エンドポイント名と担当COBOLプログラム名を対応づける。"@ja ;
    skos:altLabel "bindapi" ;
    ks:uses <https://comcomponent.com/knowledge/cobol/> ;
    ks:uses <https://comcomponent.com/knowledge/record-db-definition/> .

<https://comcomponent.com/knowledge/bind-declaration/> a skos:Concept ;
    skos:prefLabel "bind宣言"@ja ;
    skos:definition "LD定義の中で対話画面の入口を1行ずつ宣言する行。画面名と担当COBOLプログラム名を対応づける。"@ja ;
    skos:altLabel "bind" ;
    ks:uses <https://comcomponent.com/knowledge/cobol/> .

<https://comcomponent.com/knowledge/record-db-definition/> a skos:Concept ;
    skos:prefLabel "record/*.db(データ構造定義)"@ja ;
    skos:definition "リクエスト・レスポンスやレコードのデータ構造を宣言するORCAソース中の定義ファイル群。XMLのタグ名はここの項目名がそのまま使われる。"@ja ;
    skos:altLabel "record定義"@ja .

<https://comcomponent.com/knowledge/undocumented-orca-api/> a skos:Concept ;
    skos:prefLabel "未文書化API"@ja ;
    skos:definition "公式サイトのAPI仕様一覧ページに掲載されていないが、ソース上のlddefには実在するエンドポイント。ソースが公開されているため、自分でドキュメントを起こして仕様を導出できる。"@ja ;
    skos:altLabel "公式一覧にないAPI"@ja ;
    ks:uses <https://comcomponent.com/knowledge/lddef/> ;
    ks:verifiedBy <https://comcomponent.com/knowledge/record-db-definition/> .

<https://comcomponent.com/knowledge/orca-official-api-list/> a skos:Concept ;
    skos:prefLabel "公式サイトのAPI仕様一覧"@ja ;
    skos:definition "ORCA Projectの公式サイトが公開しているAPI仕様の一覧ページ。約50件のエンドポイントが掲載されている。"@ja ;
    skos:altLabel "ORCA公式API一覧ページ"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/lddef/> .

<https://comcomponent.com/knowledge/orca-source-license/> a skos:Concept ;
    skos:prefLabel "ORCA使用許諾契約(無保証条項)"@ja ;
    skos:definition "支障なく動作することや瑕疵の不存在などについて、文書化APIを含むプログラム全体を無保証とするORCAの使用許諾契約の条項。"@ja ;
    skos:altLabel "日医オープンソース使用許諾契約"@ja .

<https://comcomponent.com/knowledge/orca-source-diff-monitoring/> a skos:Concept ;
    skos:prefLabel "月次スナップショットのdiff監視"@ja ;
    skos:definition "月次で公開されるORCAソースの前月分との差分(lddef・record・利用APIの担当COBOL)を取り、変更を早期に検知する運用。"@ja ;
    skos:altLabel "ソースdiff監視"@ja ;
    ks:requires <https://comcomponent.com/knowledge/orca-monthly-source-snapshot/> ;
    ks:mitigates <https://comcomponent.com/knowledge/undetected-api-change/> ;
    ks:recommendedFor <https://comcomponent.com/knowledge/undocumented-orca-api/> .

<https://comcomponent.com/knowledge/orca-monthly-source-snapshot/> a skos:Concept ;
    skos:prefLabel "月次ソース公開スナップショット"@ja ;
    skos:definition "毎月1日に前月1日時点の内容へ更新される形で公開される、ORCA本体のソースコードのtarボール(zip)。"@ja ;
    skos:altLabel "月次公開ソース"@ja .

<https://comcomponent.com/knowledge/undetected-api-change/> a skos:Concept ;
    skos:prefLabel "検知されないAPI変更"@ja ;
    skos:definition "特に未文書化APIについて、項目追加や挙動変更が公式ドキュメントの更新として現れないため、ソースを読まない限り気づけないまま本番に影響しうる状態。"@ja .

<https://comcomponent.com/knowledge/orca-api-ruby-library/> a skos:Concept ;
    skos:prefLabel "orca-api(Rubyライブラリ)"@ja ;
    skos:definition "日レセAPIをRubyから呼び出すためのサードパーティ製OSSライブラリ。実務で使われてきたエンドポイントのカタログとしても参考になる。"@ja ;
    skos:altLabel "orca-api gem" ;
    ks:uses <https://comcomponent.com/knowledge/orca-api/> .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/orca/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/orca-api/> ;
    schema:description "ORCAの5.2系ソースは27個のLD定義に合計137個のエンドポイントをbindapiとして実装している"@ja ;
    ks:evidence <https://www.orca.med.or.jp/receipt/tec/api/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/orca/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/montsuqi/> ;
    schema:description "日レセはLinux上で動作するオープンソースのOLTPモニタMONTSUQIの上で動く"@ja ;
    ks:evidence <https://www.orca.med.or.jp/receipt/users/tec/index.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/orca/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol/> ;
    schema:description "ORCAの業務ロジックはCOBOLで実装されている(5.2系ソースで1,754本・約406万行)"@ja ;
    ks:evidence <https://ftp.orca.med.or.jp/pub/src/jma-receipt.r_5_2_branch.zip> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/montsuqi/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/lddef/> ;
    schema:description "MONTSUQIは画面クライアントやAPIからの要求を、lddefのLD定義を参照して担当のCOBOLプログラムへ渡す"@ja ;
    ks:evidence <https://ftp.orca.med.or.jp/pub/src/jma-receipt.r_5_2_branch.zip> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/orca-api/> ;
    rdf:predicate ks:storedIn ;
    rdf:object <https://comcomponent.com/knowledge/lddef/> ;
    schema:description "日レセAPIのURLとサーバー側プログラムの対応は、lddef/*.ldのLD定義ファイルに宣言的に書かれている"@ja ;
    ks:evidence <https://ftp.orca.med.or.jp/pub/src/jma-receipt.r_5_2_branch.zip> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/lddef/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/bindapi-declaration/> ;
    schema:description "LD定義ファイルの中でbindapi宣言がAPIの入口を1行ずつ宣言する"@ja ;
    ks:evidence <https://ftp.orca.med.or.jp/pub/src/jma-receipt.r_5_2_branch.zip> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/lddef/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/bind-declaration/> ;
    schema:description "LD定義ファイルの中でbind宣言が対話画面の入口を1行ずつ宣言し、bindapiと同居する"@ja ;
    ks:evidence <https://ftp.orca.med.or.jp/pub/src/jma-receipt.r_5_2_branch.zip> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/bindapi-declaration/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol/> ;
    schema:description "bindapi宣言の第3引数が、そのAPIを処理するCOBOLプログラム名を指定する"@ja ;
    ks:evidence <https://ftp.orca.med.or.jp/pub/src/jma-receipt.r_5_2_branch.zip> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/bind-declaration/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/cobol/> ;
    schema:description "bind宣言の第3引数も、その画面を処理するCOBOLプログラム名を指定する"@ja ;
    ks:evidence <https://ftp.orca.med.or.jp/pub/src/jma-receipt.r_5_2_branch.zip> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/bindapi-declaration/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/record-db-definition/> ;
    schema:description "bindapiが束ねるモジュールが扱うXMLリクエスト・レスポンスの構造は、record/*.dbのレコード定義に宣言される"@ja ;
    ks:evidence <https://ftp.orca.med.or.jp/pub/src/jma-receipt.r_5_2_branch.zip> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/orca-api/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/record-db-definition/> ;
    schema:description "日レセAPIのレスポンス・リクエストのXMLタグ名は、record/*.dbのレコード定義の項目名がそのまま使われる"@ja ;
    ks:evidence <https://ftp.orca.med.or.jp/pub/src/jma-receipt.r_5_2_branch.zip> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/undocumented-orca-api/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/lddef/> ;
    schema:description "未文書化APIを含め、全てのエンドポイントはlddefのbindapi宣言から機械的に列挙できる"@ja ;
    ks:evidence <https://ftp.orca.med.or.jp/pub/src/jma-receipt.r_5_2_branch.zip> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/undocumented-orca-api/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/record-db-definition/> ;
    schema:description "未文書化APIでも、lddefで担当プログラムを特定しrecord定義を読めば、リクエスト・レスポンスの全項目を導出できる"@ja ;
    ks:evidence <https://ftp.orca.med.or.jp/pub/src/jma-receipt.r_5_2_branch.zip> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/orca-official-api-list/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/lddef/> ;
    schema:description "公式サイトのAPI仕様一覧(約50件)に載っているエンドポイントの実在は、lddefのbindapi宣言(全137件)と突き合わせて確認できる"@ja ;
    ks:evidence <https://www.orca.med.or.jp/receipt/users/tec/api/overview.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/orca-source-license/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/orca-source-diff-monitoring/> ;
    schema:description "使用許諾契約が文書化APIも含めて無保証を明言している以上、本番フローに組み込むAPIには版の固定と月次スナップショットのdiff監視をセットにすべきとされる。検証・社内利用に留まるAPIにまで一律に要求されるものではない"@ja ;
    ks:evidence <https://www.orca.med.or.jp/receipt/users/tec/index.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/orca-source-diff-monitoring/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/orca-monthly-source-snapshot/> ;
    schema:description "diff監視は、毎月1日に前月1日時点のソースが公開される月次スナップショットの存在を前提とする"@ja ;
    ks:evidence <https://www.orca.med.or.jp/receipt/users/tec/index.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/orca-source-diff-monitoring/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/undetected-api-change/> ;
    schema:description "月次スナップショットのdiff監視は、公式ドキュメントに現れない変更を早期に検知し、検知されないままのAPI変更というリスクを軽減する"@ja ;
    ks:evidence <https://www.orca.med.or.jp/receipt/users/tec/index.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/undocumented-orca-api/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/undetected-api-change/> ;
    schema:description "未文書化APIの変更は公式ドキュメントの更新として現れないため、ソースを読まない限り気づけない"@ja ;
    ks:evidence <https://www.orca.med.or.jp/receipt/users/tec/index.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/orca-source-diff-monitoring/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/undocumented-orca-api/> ;
    schema:description "未文書化APIを本番で使う場合、月次スナップショットのdiff監視を運用にセットすることが推奨される"@ja ;
    ks:evidence <https://www.orca.med.or.jp/receipt/users/tec/index.html> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/orca-api-ruby-library/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/orca-api/> ;
    schema:description "orca-apiライブラリはRubyから日レセAPIを呼び出すためのOSSで、実務で使われてきたエンドポイントのカタログとしても参考になる"@ja ;
    ks:evidence <https://github.com/orca-api/orca-api> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .
