GS1 Rail Vocabulary

Upstream mirror of the GS1 Rail Vocabulary v1.6 (GS1 AISBL with GS1 Switzerland) — sectoral Layer-1 vocabulary for railway sensor metadata, wheel diagnostics, and EPCIS Registry response shapes. The namespace stays at the upstream URI; bridged to dpp-core via rail-bridge-context.

Version 1.6https://gs1-epcis-reg.org/rail/voc/data#
Community implementation - not official GS1 guidance

This vocabulary builds on GS1 standards (Digital Link, EPCIS 2.0, Web Vocabulary) but extends them with properties not yet defined by GS1. The GS1 DPP Provisional Standard is still under development. Our extensions may be superseded by official GS1 terms as they emerge. Feedback welcome!

About this vocabulary

GS1 Rail is a sectoral GS1 vocabulary published by GS1 AISBL with GS1 Switzerland under the Apache 2.0 licence. It extends EPCIS 2.0 with rail-specific terms covering Wayside Train Monitoring System (WTMS) station types (wheel-impact load detection, hot-bearing detection, RFID, Multirail, Railwatch, etc.), data-processing methods (peak/mean/dynamic force, axle load, wheel and bearing temperature, R/L wheel-weight ratio), wheel-damage diagnostics (flat / out-of-round / squaring), vehicle-imbalance metrics (lateral, diagonal, longitudinal), product-lifecycle properties (warranty start, item reconditioning date, run distance), and EPCIS Registry response shapes (results overview, Verified-by-GS1 attributes). The native namespace https://gs1-epcis-reg.org/rail/voc/data# (prefix rail:) is preserved verbatim — OpenEPCIS does not rebrand rail terms under ref.openepcis.io. The mirror under extensions/upstream/gs1-rail/ exists so the build pipeline can index rail terms in the vocabulary browser, run our SHACL/JSON-LD validation against rail-typed EPCIS events, and so the bridge context (extensions/common/interop/context/rail-bridge-context.jsonld) can anchor cross-cutting equivalences (rail:itemReconditioningDate ↔ dpp:remanufacturingDate; rail:VisibilityStatus ↔ dpp:AccessLevel). Domains used by rail properties anchor outward to gs1:Place (track location), schema:Product (functional / revision status, refurbishment date), schema:Observation (nominal value sets), schema:WarrantyPromise (warranty start), gs1:Organization (manufacturer), epcis:SensorMetadata (WTMS station type, visibility, side indicator, mean speed, nominal-value links), and epcis:SensorReport (measurement values, normalised axle, wheel-damage strings).

ClassDescriptionSubclass Of
Authentication
Authentication Class
Authentication information required to access a service target, such as API key headers.-
DynamicCoefficient
Dynamic Coefficient Details
A set of dynamic Coefficient details (normalized axle number, left and right value) of the vehicle.-
ManufacturerThe group of details about a manufacturer.-
NominalValueSet
Nominal Value Set
Represents nominal values and specification limits (LSL, USL) for a particular parameter.-
RegistryEntries
Registry entries
An entry returned by the EPCIS Registry describing a service provider and its downloadable targets.-
ResultsOverviewAttributes
Query result overview attributes
A set of attributes describing the number of events registered in regards to a given object / thing-
VerifiedByGS1Attributes
VbG query result overview attributes
A set of attributes describing attributes returned by Verified by GS1 in regards to a given object / thing-

Usage examples

WTMS wheel + bearing temperature reading (EPCIS ObjectEvent)

A heat-detection (HFO) station observes a freight wagon, capturing per-axle wheel and bearing temperatures. rail:typeWtms / rail:visibility / rail:sideIndicator / rail:en15654Speed live on epcis:SensorMetadata; rail:wheelTemperature / rail:bearingTemperature / rail:normalizedAxle / rail:leftValue / rail:rightValue ride on each epcis:SensorReport. masterDataAvailableFor carries gs1:-only product master data per the EPCIS extension rule.

{
  "@context": [
    "https://ref.openepcis.io/extensions/common/core/dpp-core-context.jsonld",
    "https://gs1-epcis-reg.org/rail/rail-context.jsonld",
    "https://ref.openepcis.io/extensions/common/interop/rail-bridge-context.jsonld"
  ],
  "type": "EPCISDocument",
  "schemaVersion": "2.0",
  "epcisBody": { "eventList": [{
    "type": "ObjectEvent",
    "eventTime": "2026-05-07T08:14:00.000Z",
    "action": "OBSERVE",
    "bizStep": "sensor_reporting",
    "epcList": ["https://id.gs1.org/8004/9521234W-A-9876543"],
    "sensorElementList": [{
      "sensorMetadata": {
        "deviceID": "https://id.gs1.org/8004/9521234WTMS-PF-001",
        "typeWtms": "HFO",
        "visibility": "Public",
        "sideIndicator": 1,
        "en15654Speed": { "type": "QuantitativeValue", "value": 84.2, "unitCode": "KMH" }
      },
      "sensorReport": [
        { "type": "rail:wheelTemperature", "normalizedAxle": 1, "leftValue": 41.7, "rightValue": 39.2, "uom": "CEL" },
        { "type": "rail:bearingTemperature", "normalizedAxle": 1, "leftValue": 38.4, "rightValue": 37.9, "uom": "CEL" }
      ]
    }]
  }] }
}

Wheelset reconditioning — EPCIS TransformationEvent with rail ↔ dpp bridge

A reconditioned wheelset re-enters service. The event ilmd carries rail:itemReconditioningDate alongside dpp:remanufacturingDate (cross-sector ESPR Annex II durability term, minted in dpp-core 0.9.6). Both keys carry the same value; the rail-bridge-context anchors them via rdfs:seeAlso so DPP-aware and rail-aware consumers see the same fact.

{
  "@context": [
    "https://ref.openepcis.io/extensions/common/core/dpp-core-context.jsonld",
    "https://gs1-epcis-reg.org/rail/rail-context.jsonld",
    "https://ref.openepcis.io/extensions/common/interop/rail-bridge-context.jsonld"
  ],
  "type": "EPCISDocument",
  "schemaVersion": "2.0",
  "epcisBody": { "eventList": [{
    "type": "TransformationEvent",
    "eventTime": "2026-04-22T11:05:00.000Z",
    "bizStep": "repairing",
    "inputEPCList": ["https://id.gs1.org/8004/9521234WS-A-3344"],
    "outputEPCList": ["https://id.gs1.org/8004/9521234WS-A-3344"],
    "ilmd": {
      "rail:itemReconditioningDate": "2026-04-22T11:05:00.000Z",
      "dpp:remanufacturingDate":     "2026-04-22T11:05:00.000Z",
      "rail:functionalStatus": "Refurbished — fit for service",
      "rail:revisionStatus": "IS2",
      "rail:runDistance": { "type": "QuantitativeValue", "value": 412800, "unitCode": "KMT" }
    }
  }] }
}

Example files

Complete JSON-LD documents shipped with the vocabulary. Click a file to view the raw payload.

Quick start

Consume the rail vocabulary directly from upstream. The OpenEPCIS mirror at extensions/upstream/gs1-rail/ is browsability-only — the canonical IRIs are at https://gs1-epcis-reg.org/rail/voc/data#. To author EPCIS 2.0 events that combine rail with DPP-Ready, include three contexts in this order: dpp-core-context first (so its terms are declared before the EPCIS @protected scope from rail-context kicks in), then rail-context (which transitively loads epcis-context), then rail-bridge-context for the equivalences. Declare the extension via GS1-Extensions: rail=https://gs1-epcis-reg.org/rail/voc/data#, dpp=https://ref.openepcis.io/extensions/common/core/ so an OpenEPCIS EPCIS Repository activates rail SHACL validation (Rail-EPCIS-SHACL-Generic.json + Rail-SHACL.json shipped under validation/) and the dpp-core remanufacturing-date alignment.

Context URL

https://gs1-epcis-reg.org/rail/rail-context.jsonld
{
  "@context": [
    "https://ref.openepcis.io/extensions/common/core/dpp-core-context.jsonld",
    "https://gs1-epcis-reg.org/rail/rail-context.jsonld",
    "https://ref.openepcis.io/extensions/common/interop/rail-bridge-context.jsonld"
  ],
  "type": "ObjectEvent",
  "bizStep": "sensor_reporting",
  "sensorElementList": [{
    "sensorMetadata": { "typeWtms": "HFO", "visibility": "Public" },
    "sensorReport":   [{ "type": "rail:wheelTemperature", "normalizedAxle": 1, "leftValue": 41.7, "rightValue": 39.2, "uom": "CEL" }]
  }]
}

Regulatory context

  • GS1 Rail Vocabulary — The upstream-published vocabulary (GS1 AISBL with GS1 Switzerland), Apache 2.0. Source of truth — this module mirrors v1.6 and is re-synced via `pnpm sync:rail` in openepcis-dpp-ready.
  • EN 15654 — Specific applications for railway purposes — Track-side measurement — Defines the measurement methodologies (mean force, R/L ratio, axle load) referenced by rail:dataProcessingMethodType values and SensorReport semantics.
  • ESPR 2024/1781 (cross-cutting bridge) — Annex II durability / re-use information. The rail-bridge-context anchors rail:itemReconditioningDate to dpp:remanufacturingDate so rail asset lifecycle data flows into ESPR-aligned DPP framework outputs.