Skip to content

Latest commit

 

History

History
195 lines (170 loc) · 6.76 KB

File metadata and controls

195 lines (170 loc) · 6.76 KB

Data Model & Diagrams

Descriptions

Auto-generated by tools/gen_diagram.py from datadict.db on 2026-06-27 — 3688 items, 12 categories, 9 sources.

Diagrams use Mermaid, which renders natively on GitHub. Static SVG/PNG exports live in diagrams/ — regenerate them with python3 tools/render_diagrams.py.

Diagram SVG PNG
ER diagram er-diagram.svg er-diagram.png
Categories categories.svg categories.png
Description coverage description-coverage.svg description-coverage.png
Source→Category map source-category-map.svg source-category-map.png

1. Entity-Relationship diagram

The dictionary is a simple two-table star: many DataItems per Category.

erDiagram
    Categories ||--o{ DataItems : "categorizes"
    Categories {
        INTEGER CategoryID PK
        TEXT Name UK "Manufacturing, Finance, ..."
        TEXT Description
        TEXT Source
    }
    DataItems {
        INTEGER DataItemID PK
        INTEGER CategoryID FK "-> Categories"
        TEXT Name "entity.field (snake_case)"
        TEXT Title
        TEXT Description
        TEXT DataType "VARCHAR INTEGER DATE ..."
        INTEGER ByteLength
        INTEGER DecimalScale
        BOOLEAN IsRequired
        BOOLEAN IsNullable
        TEXT DefaultValue
        TEXT AllowedValues "JSON array or per-source object"
        TEXT FormatMask
        TEXT SourceStandard "one or more, '; '-joined"
        TEXT SourceURL "one or more, ' | '-joined"
        TEXT Version
        DATETIME CreatedAt
        DATETIME UpdatedAt
    }
Loading

2. Categories by item count

pie showData title Data items by category
    "Manufacturing" : 648
    "Finance / Accounting" : 612
    "Sales / Order Management" : 538
    "Customer Relationship Management (CRM)" : 484
    "Healthcare" : 331
    "Product Master Data" : 299
    "Supply Chain / Logistics" : 226
    "Human Resources" : 195
    "Inventory / Warehouse" : 131
    "Procurement / Purchasing" : 111
    "Quality Management" : 81
    "Maintenance / Asset Management" : 32
Loading

3. Description coverage & provenance

Every data item carries a description (100% coverage). Most come straight from the upstream source; the rest are curated editorial text added where the source provided none (see tools/curated_descriptions.py).

pie showData title Description provenance
    "From source" : 3234
    "Curated (editorial)" : 454
Loading
Category Items From source Curated Coverage
Manufacturing 648 450 198 100%
Finance / Accounting 612 595 17 100%
Sales / Order Management 538 527 11 100%
Customer Relationship Management (CRM) 484 481 3 100%
Healthcare 331 201 130 100%
Product Master Data 299 298 1 100%
Supply Chain / Logistics 226 204 22 100%
Human Resources 195 183 12 100%
Inventory / Warehouse 131 124 7 100%
Procurement / Purchasing 111 108 3 100%
Quality Management 81 31 50 100%
Maintenance / Asset Management 32 32 0 100%
All 3688 3234 454 100%

4. Which sources feed which categories

Edge labels = number of items each source contributes to a category.

flowchart LR
    subgraph SOURCES
        S0["Microsoft CDM<br/>712"]
        S1["Tryton<br/>634"]
        S2["ERPNext / Frappe Health<br/>610"]
        S3["Odoo<br/>546"]
        S4["Stripe API<br/>393"]
        S5["Schema.org<br/>373"]
        S6["GS1<br/>220"]
        S7["ISA-95 (B2MML)<br/>122"]
        S8["HL7 FHIR<br/>116"]
    end
    subgraph CATEGORIES
        C0["Manufacturing<br/>648"]
        C1["Finance / Accounting<br/>627"]
        C2["Sales / Order Management<br/>543"]
        C3["Customer Relationship Management (CRM)<br/>487"]
        C4["Healthcare<br/>332"]
        C5["Product Master Data<br/>310"]
        C6["Supply Chain / Logistics<br/>226"]
        C7["Human Resources<br/>196"]
        C8["Inventory / Warehouse<br/>131"]
        C9["Procurement / Purchasing<br/>113"]
        C10["Quality Management<br/>81"]
        C11["Maintenance / Asset Management<br/>32"]
    end
    S2 -->|287| C0
    S3 -->|271| C0
    S1 -->|75| C0
    S7 -->|15| C0
    S4 -->|239| C1
    S1 -->|222| C1
    S0 -->|111| C1
    S5 -->|29| C1
    S8 -->|16| C1
    S6 -->|10| C1
    S0 -->|272| C2
    S5 -->|102| C2
    S1 -->|85| C2
    S4 -->|84| C2
    S0 -->|285| C3
    S5 -->|89| C3
    S1 -->|70| C3
    S4 -->|31| C3
    S8 -->|10| C3
    S6 -->|2| C3
    S2 -->|242| C4
    S8 -->|90| C4
    S6 -->|86| C5
    S5 -->|72| C5
    S0 -->|44| C5
    S1 -->|42| C5
    S4 -->|39| C5
    S7 -->|27| C5
    S6 -->|100| C6
    S3 -->|99| C6
    S1 -->|27| C6
    S3 -->|91| C7
    S5 -->|81| C7
    S7 -->|24| C7
    S3 -->|50| C8
    S1 -->|35| C8
    S7 -->|27| C8
    S6 -->|19| C8
    S1 -->|78| C9
    S3 -->|35| C9
    S2 -->|81| C10
    S7 -->|29| C11
    S6 -->|3| C11
Loading

5. Source contribution matrix

Category Microsoft CDM Tryton ERPNext / Frappe Health Odoo Stripe API Schema.org GS1 ISA-95 (B2MML) HL7 FHIR Total*
Manufacturing 75 287 271 15 648
Finance / Accounting 111 222 239 29 10 16 627
Sales / Order Management 272 85 84 102 543
Customer Relationship Management (CRM) 285 70 31 89 2 10 487
Healthcare 242 90 332
Product Master Data 44 42 39 72 86 27 310
Supply Chain / Logistics 27 99 100 226
Human Resources 91 81 24 196
Inventory / Warehouse 35 50 19 27 131
Procurement / Purchasing 78 35 113
Quality Management 81 81
Maintenance / Asset Management 3 29 32
Total* 712 634 610 546 393 373 220 122 116

* Contribution totals count an item once per source it carries, so cross-source-merged items are counted in each contributing source; these totals therefore exceed the 3688 distinct items.