{
  "@context": {
    "@vocab": "https://zh.ch/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "zh": "https://zh.ch/schema#",
    "UniqueId": "zh:UniqueId",
    "id": {
      "@id": "zh:id",
      "@type": "xsd:string"
    },
    "sub": {
      "@id": "zh:sub",
      "@type": "@id"
    },
    "VbvData": "zh:VbvData",
    "effectiveTime": {
      "@id": "zh:effectiveTime",
      "@type": "xsd:string"
    },
    "protType": {
      "@id": "zh:protType",
      "@type": "xsd:string"
    },
    "seqnum": {
      "@id": "zh:seqnum",
      "@type": "xsd:integer"
    },
    "classType": {
      "@id": "zh:classType",
      "@type": "xsd:string"
    },
    "occupancy": {
      "@id": "zh:occupancy",
      "@type": "xsd:integer"
    },
    "headway": {
      "@id": "zh:headway",
      "@type": "xsd:integer"
    },
    "gap": {
      "@id": "zh:gap",
      "@type": "xsd:integer"
    },
    "length": {
      "@id": "zh:length",
      "@type": "xsd:integer"
    },
    "swiss10Class": {
      "@id": "zh:swiss10Class",
      "@type": "xsd:string"
    },
    "seqnumType": {
      "@id": "zh:seqnumType",
      "@type": "xsd:string"
    },
    "status": {
      "@id": "zh:status",
      "@type": "xsd:integer"
    },
    "direction": {
      "@id": "zh:direction",
      "@type": "xsd:string"
    },
    "occupancyType": {
      "@id": "zh:occupancyType",
      "@type": "xsd:string"
    },
    "headwayType": {
      "@id": "zh:headwayType",
      "@type": "xsd:string"
    },
    "gapType": {
      "@id": "zh:gapType",
      "@type": "xsd:string"
    },
    "lengthType": {
      "@id": "zh:lengthType",
      "@type": "xsd:string"
    },
    "statusType": {
      "@id": "zh:statusType",
      "@type": "xsd:string"
    },
    "directionType": {
      "@id": "zh:directionType",
      "@type": "xsd:string"
    },
    "subMsDiscriminator": {
      "@id": "zh:subMsDiscriminator",
      "@type": "xsd:string"
    },
    "clockID": {
      "@id": "zh:clockID",
      "@type": "xsd:integer"
    },
    "rcvTime": {
      "@id": "zh:rcvTime",
      "@type": "xsd:string"
    },
    "srcTime": {
      "@id": "zh:srcTime",
      "@type": "xsd:string"
    },
    "srcTimeUtcOffset": {
      "@id": "zh:srcTimeUtcOffset",
      "@type": "xsd:integer"
    },
    "uID": {
      "@id": "zh:uID",
      "@type": "@id"
    },
    "Heartbeat": "zh:Heartbeat",
    "alive": {
      "@id": "zh:alive",
      "@type": "xsd:integer"
    },
    "AggVdp": "zh:AggVdp",
    "uniqueId": {
      "@id": "zh:uniqueId",
      "@type": "@id"
    },
    "intBegin": {
      "@id": "zh:intBegin",
      "@type": "xsd:integer"
    },
    "intDuration": {
      "@id": "zh:intDuration",
      "@type": "xsd:integer"
    },
    "statistics": {
      "@id": "zh:statistics",
      "@container": "@list"
    },
    "AggVdpDetail": "zh:AggVdpDetail",
    "aggClass": {
      "@id": "zh:aggClass",
      "@type": "xsd:string"
    },
    "flow": {
      "@id": "zh:flow",
      "@type": "xsd:integer"
    },
    "count": {
      "@id": "zh:count",
      "@type": "xsd:integer"
    },
    "countAll": {
      "@id": "zh:countAll",
      "@type": "xsd:integer"
    },
    "avg": {
      "@id": "zh:avg",
      "@type": "xsd:decimal"
    },
    "sDeviation": {
      "@id": "zh:sDeviation",
      "@type": "xsd:decimal"
    },
    "q15": {
      "@id": "zh:q15",
      "@type": "xsd:decimal"
    },
    "q50": {
      "@id": "zh:q50",
      "@type": "xsd:decimal"
    },
    "q85": {
      "@id": "zh:q85",
      "@type": "xsd:decimal"
    },
    "CollectorCfg": "zh:CollectorCfg",
    "name": {
      "@id": "zh:name",
      "@type": "xsd:string"
    },
    "collectorStatus": {
      "@id": "zh:collectorStatus",
      "@type": "xsd:string"
    },
    "detectors": {
      "@id": "zh:detectors",
      "@container": "@list"
    },
    "uid": {
      "@id": "zh:uid",
      "@type": "@id"
    },
    "DetectorCfg": "zh:DetectorCfg",
    "UniqueID": "zh:UniqueID",
    "CollectorState": "zh:CollectorState",
    "statusTime": {
      "@id": "zh:statusTime",
      "@type": "xsd:decimal"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Kanton Zürich API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Kanton Zürich's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-10) from openapi/zh-ch-education-statistics-openapi.yml, openapi/zh-ch-traffic-counts-openapi.yml.",
  "dcterms:created": "2026-11-10",
  "dcterms:source": [
    "openapi/zh-ch-education-statistics-openapi.yml",
    "openapi/zh-ch-traffic-counts-openapi.yml"
  ]
}