@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/topos-institute-category-theory-business-examples/#article>
    schema:about <https://comcomponent.com/knowledge/category-theory/>, <https://comcomponent.com/knowledge/topos-institute/> ;
    schema:mentions <https://comcomponent.com/knowledge/catlab-jl/>, <https://comcomponent.com/knowledge/catcolab/>, <https://comcomponent.com/knowledge/acset/>, <https://comcomponent.com/knowledge/functor/>, <https://comcomponent.com/knowledge/functorial-data-migration/>, <https://comcomponent.com/knowledge/structured-cospan/>, <https://comcomponent.com/knowledge/julia-language/>, <https://comcomponent.com/knowledge/schema-migration/> .

<https://comcomponent.com/knowledge/category-theory/> a skos:Concept ;
    skos:prefLabel "圏論(category theory)"@ja ;
    skos:definition "対象と射とその合成からなる圏と、圏の間の対応である関手などを扱う数学の分野。応用圏論は、その考え方をデータベース、回路、力学系などの具体的な対象に当てはめる。"@ja ;
    skos:altLabel "category theory" .

<https://comcomponent.com/knowledge/topos-institute/> a skos:Concept ;
    skos:prefLabel "Topos Institute"@ja ;
    skos:definition "圏論にもとづく研究と、その数学をソフトウェアにする開発を行う非営利の研究所。米国カリフォルニア州の非営利団体と英国の慈善団体 Topos Research UK からなる。"@ja ;
    ks:uses <https://comcomponent.com/knowledge/category-theory/> ;
    ks:implements <https://comcomponent.com/knowledge/catcolab/> .

<https://comcomponent.com/knowledge/catcolab/> a skos:Concept ;
    skos:prefLabel "CatColab"@ja ;
    skos:definition "Topos Institute とその協力者が作っている、形式的で相互運用できる概念的なモデリングのための、ブラウザの共同作業環境。Olog、データベースのスキーマ、ペトリネット、因果ループ図、ストック・フロー図などのロジックを持つ。"@ja .

<https://comcomponent.com/knowledge/catlab-jl/> a skos:Concept ;
    skos:prefLabel "Catlab.jl"@ja ;
    skos:definition "Julia 言語で応用圏論を扱うためのライブラリ。AlgebraicJulia の中心のパッケージで、ACSet、関手的データ移行、配線図による合成などを提供する。"@ja ;
    skos:altLabel "Catlab" ;
    ks:implements <https://comcomponent.com/knowledge/acset/> ;
    ks:implements <https://comcomponent.com/knowledge/functorial-data-migration/> ;
    ks:implements <https://comcomponent.com/knowledge/structured-cospan/> ;
    ks:uses <https://comcomponent.com/knowledge/julia-language/> .

<https://comcomponent.com/knowledge/acset/> a skos:Concept ;
    skos:prefLabel "acset(attributed C-set)"@ja ;
    skos:definition "スキーマとなる圏から集合への関手(C-set)に、型の決まったデータの属性を加えたデータ構造。グラフとデータフレームの両方を一般化する。"@ja ;
    skos:altLabel "ACSet" ;
    skos:altLabel "attributed C-set" .

<https://comcomponent.com/knowledge/functorial-data-migration/> a skos:Concept ;
    skos:prefLabel "関手的データ移行(functorial data migration)"@ja ;
    skos:definition "スキーマを小さな圏、データを集合に値をとる関手とみなし、スキーマの間の関手からデータの移し方(Δ、Σ、Π)を決める方法。"@ja ;
    skos:altLabel "functorial data migration" ;
    skos:altLabel "Δ・Σ・Π によるデータ移行"@ja ;
    ks:uses <https://comcomponent.com/knowledge/functor/> .

<https://comcomponent.com/knowledge/functor/> a skos:Concept ;
    skos:prefLabel "関手(functor)"@ja ;
    skos:definition "ある圏の対象と射を、恒等射と射の合成を保ったまま別の圏の対象と射へ対応させるもの。スキーマを圏とみなすと、スキーマどうしの対応に当たる。"@ja ;
    skos:altLabel "functor" ;
    skos:broader <https://comcomponent.com/knowledge/category-theory/> .

<https://comcomponent.com/knowledge/structured-cospan/> a skos:Concept ;
    skos:prefLabel "構造化コスパン(structured cospan)"@ja ;
    skos:definition "外とつなぐ接点を持つ開いたシステムを表し、接点どうしをつないで大きなシステムを組み立てるための圏論の構成。"@ja ;
    skos:altLabel "structured cospan" .

<https://comcomponent.com/knowledge/julia-language/> a skos:Concept ;
    skos:prefLabel "Julia(プログラミング言語)"@ja ;
    skos:definition "科学技術計算向けに設計された、動的型付けで JIT コンパイルされるプログラミング言語。"@ja ;
    skos:altLabel "Julia" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/topos-institute/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/category-theory/> ;
    schema:description "Topos Instituteの基礎研究は、数学の圏論にもとづいて複雑なシステムを理解するための理論を作り、応用研究はその数学をソフトウェアのライブラリやツールに移す"@ja ;
    ks:evidence <https://topos.institute/work> ;
    ks:verifiedAt "2026-11-12" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/topos-institute/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/catcolab/> ;
    schema:description "CatColabはTopos Instituteとその協力者が作っている、ブラウザでモデルを作り共同で編集するためのツール。AlgebraicJuliaのライブラリは圏論の背景知識がかなりないと使えないという反省から、近づきやすいツールを自分たちで作ることにして始まった"@ja ;
    ks:evidence <https://catcolab.org/help>, <https://topos.institute/blog/2024-10-02-introducing-catcolab/> ;
    ks:verifiedAt "2026-11-12" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/catlab-jl/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/acset/> ;
    schema:description "Catlab.jlでは、スキーマを@presentで書き、@acset_typeで作った型にデータを入れる。記事では受注・顧客・商品のスキーマのデータを入れ、外部キーと列を続けて辿る経路(射の合成)で受注ごとの金額を出し、incidentで外部キーを逆に辿った"@ja ;
    ks:evidence <https://arxiv.org/abs/2106.04703>, <https://github.com/AlgebraicJulia/Catlab.jl> ;
    ks:verifiedAt "2026-11-12" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/catlab-jl/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/functorial-data-migration/> ;
    schema:description "Catlab.jlのDeltaMigrationとSigmaMigrationFunctorで、旧スキーマから新スキーマへの関手からデータを移した。Δは新しいデータを旧スキーマで読み(新スキーマにしかない地域は落ちる)、Σは旧データを新スキーマへ移す(地域は顧客ごとに作られ、名前は属性の変数になる)。属性を持つ表のΣは、Catlab 0.17のテストと移行ガイドにあるとおり、移す先の圏としてVarACSetの圏をキーワード引数catで渡す必要がある。渡さない既定の呼び方はMethodErrorになる"@ja ;
    ks:evidence <https://arxiv.org/abs/1009.1166>, <https://github.com/AlgebraicJulia/Catlab.jl/blob/v0.17.6/docs/src/devdocs/release.md>, <https://github.com/AlgebraicJulia/Catlab.jl/blob/v0.17.6/test/categorical_algebra/pointwise/acsetcats/FunctorialDataMigrations.jl> ;
    ks:verifiedAt "2026-11-12" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/functorial-data-migration/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/functor/> ;
    schema:description "スキーマを小さな圏、データを集合に値をとる関手とみなすと、スキーマの間の関手からデータの移し方(Δ、Σ、Π)が決まる"@ja ;
    ks:evidence <https://arxiv.org/abs/1009.1166> ;
    ks:verifiedAt "2026-11-12" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/catlab-jl/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/structured-cospan/> ;
    schema:description "Catlab.jlでは、外とつなぐ頂点を持つ開いたグラフを構造化コスパンとして扱い、@relationで書いた無向配線図にoapplyで当てはめてつなぐ。記事では受注部門と物流部門の業務の流れを「出荷待ち」でつないで1つの流れにし、つなぐ点の名前が合わない部品はエラーになることを確かめた"@ja ;
    ks:evidence <https://arxiv.org/abs/1911.04630>, <https://github.com/AlgebraicJulia/Catlab.jl/blob/v0.17.6/src/categorical_algebra/pointwise/StructuredCospans.jl> ;
    ks:verifiedAt "2026-11-12" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/catlab-jl/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/julia-language/> ;
    schema:description "Catlab.jlはJulia言語で応用圏論を扱うためのライブラリで、記事の例はJulia 1.11.7とCatlab 0.17.6で動かした"@ja ;
    ks:evidence <https://github.com/AlgebraicJulia/Catlab.jl> ;
    ks:verifiedAt "2026-11-12" ;
    ks:certainty "established" .
