AXIOM|
LayerOverwatchLocusCodex
Ontology crosswalk

OSHA Safety — Ontology Crosswalk

Schema: upcoming (extends events-timeline; OSHA rows live under event_category='regulatory' with event_type='regulatory.enforcement' and source='osha') Target standards: schema.org/GovernmentPermit + schema.org/RegulatoryAction (draft), NAICS (industry classification), FRS (Facility Registry Service EPA), DCAT-US v3.0 Authority: OSHA, U.S. Census Bureau (NAICS), EPA (FRS), U.S. DOC (DCAT-US) Status: FAIR-aligned Dataset SPDX license: Public Domain (OSHA source) → CC0-1.0 research tier · proprietary commercial tier for Axiom enrichment


1. Why NAICS + schema.org + FRS

OSHA enforcement records are industry-tagged via NAICS (the U.S. federal industry classification system). Every peer dataset — BLS, EPA ECHO, FRS, Census Business Dynamics — joins on NAICS, so preserving NAICS codes verbatim is non-negotiable. schema.org/GovernmentPermit carries most of the enforcement-action semantics; RegulatoryAction is the draft schema.org term for the action itself. EPA's Facility Registry Service (FRS) is the canonical facility identifier layer for linking OSHA records to environmental enforcement and vessel ops.


2. Dataset-level (DCAT-US v3.0)

DCAT-US field Value
dct:identifier urn:axiom:codex:dataset:osha-safety:v1.0.0
dct:title "Axiom OSHA Safety Dataset"
dct:description "OSHA enforcement actions, inspections, citations, and injury/illness reports linked to FRS facility IDs, NAICS sectors, and parent-corporate entity resolution."
dcat:keyword ["osha", "safety", "workplace", "enforcement", "citations", "naics", "frs"]
dcat:theme ["http://publications.europa.eu/resource/authority/data-theme/JUST", "...ECON"]
dct:source https://www.osha.gov/ords/odi/establishment_search.html, EPA FRS
dct:license CC0-1.0 (research)

3. Record-level crosswalk

3.1 Enforcement action → schema.org

{
  "@context": "https://schema.org",
  "@type": "GovernmentPermit",
  "@id": "urn:axiom:event:<event-uuid>",
  "identifier": [
    {"@type": "PropertyValue", "propertyID": "OSHA Inspection Number", "value": "1234567.015"},
    {"@type": "PropertyValue", "propertyID": "EPA FRS ID", "value": "110043214891"}
  ],
  "issuedBy": {
    "@type": "GovernmentOrganization",
    "name": "Occupational Safety and Health Administration",
    "sameAs": "https://www.osha.gov/"
  },
  "validIn": {
    "@type": "Place",
    "address": {"streetAddress": "...", "addressLocality": "...", "addressRegion": "..."}
  },
  "axiom:naicsCode": "238220",
  "axiom:naicsTitle": "Plumbing, Heating, and Air-Conditioning Contractors",
  "axiom:inspectionType": "Programmed",
  "axiom:violationCount": 3,
  "axiom:citationSeverity": "serious",
  "axiom:penaltyUsd": 8125,
  "axiom:facilityFrsId": "110043214891",
  "axiom:parentEntityUrn": "urn:aprs:entity:company:example-corp",
  "axiom:hazardCategories": ["fall-protection", "electrical"]
}

3.2 Field-by-field mapping

Codex field Target Target field
id schema.org @id
source_ref OSHA Inspection Number (nr in OSHA export)
source schema.org issuedBy.GovernmentOrganization
occurred_at schema.org dateIssued (OSHA open_date)
resolved_at schema.org dateModified (OSHA close_case_date)
entity_id / entity_name schema.org validIn.Place
location schema.org validIn.Place.geo
h3_index Codex extension axiom:h3Index
jurisdiction_slug embedded in validIn.Place.address
naics_code NAICS axiom:naicsCode (no schema.org slot)
naics_title NAICS axiom:naicsTitle
frs_id EPA FRS axiom:facilityFrsId
inspection_type OSHA axiom:inspectionType (enum: Programmed, Unprogrammed, Referral, Complaint, FollowUp, Accident)
violation_count OSHA axiom:violationCount
citation_severity OSHA axiom:citationSeverity (enum: willful, serious, other, repeat)
penalty_usd OSHA axiom:penaltyUsd
hazard_categories[] OSHA standards codes → human labels axiom:hazardCategories
parent_entity_urn Codex entity resolution axiom:parentEntityUrn

4. NAICS alignment

Codex preserves the OSHA-supplied NAICS code verbatim (6-digit, 2022 revision). Upstream cross-joins:

  • OSHA ↔ BLS Quarterly Census of Employment and Wages (QCEW) via NAICS + FIPS
  • OSHA ↔ EPA ECHO enforcement via FRS facility ID
  • OSHA ↔ Axiom POI Intelligence via NAICS

No NAICS translation is performed — codes are retained as-is to maintain fidelity with federal peer datasets.


5. FRS facility linkage

Each OSHA record is matched against EPA's Facility Registry Service (FRS) by address + NAICS + name heuristic. When matched, axiom:facilityFrsId is populated. Matches carry a axiom:frsMatchConfidence ∈ [0,1]; low-confidence matches (< 0.7) are excluded from the commercial-tier facility-linked views.


6. Parent-corporate entity resolution

Many OSHA records name establishments owned by larger parents. Codex links to the parent via axiom:parentEntityUrn when entity resolution (AXC-22) resolves the chain. Enables queries like "all OSHA actions against Amazon subsidiaries in the last 2 years" without manual name matching.


7. FAIR compliance

Principle Status
F ✅ (DCAT-US + schema.org/GovernmentPermit indexed)
A ✅ (Parquet + JSON-LD + OGC Features for spatial filter)
I ✅ (NAICS + FRS + schema.org aligned; OSHA codes preserved)
R ✅ (CC0 research tier; Axiom enrichment proprietary)

8. Deviations

  • OSHA hazard standards are coded as CFR references (e.g. "1926.501"). Codex publishes the CFR code verbatim and adds a human-readable axiom:hazardCategories[] label array; consumers working with CFR-aware legal tooling should use the code, general users the labels.
  • Penalty amounts are often adjusted post-settlement. Codex publishes the initial proposed penalty and the final (or current) penalty as axiom:proposedPenaltyUsd and axiom:currentPenaltyUsd separately; penalty_usd is an alias for the current value.
  • No injury/illness confidential data. Per 29 CFR 1904, certain injury details are exempt from public disclosure. Codex only ingests the public OSHA establishment search feed, not the protected surveillance data.

9. Changelog

  • v1.0 (2026-04-16) — Initial crosswalk. Published as a view over Events Timeline (source='osha').