{
  "@context": {
    "@vocab": "https://benmilne.com/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "benmilne": "https://benmilne.com/schema#",
    "ErrorResponse": "benmilne:ErrorResponse",
    "error": {
      "@id": "benmilne:error",
      "@type": "xsd:string"
    },
    "supported_languages": {
      "@id": "benmilne:supported_languages",
      "@container": "@list"
    },
    "TranslationUnavailableError": "benmilne:TranslationUnavailableError",
    "slug": {
      "@id": "benmilne:slug",
      "@type": "xsd:string"
    },
    "language": {
      "@id": "benmilne:language",
      "@type": "xsd:string"
    },
    "status": {
      "@id": "benmilne:status",
      "@type": "xsd:string"
    },
    "english_url": {
      "@id": "benmilne:english_url",
      "@type": "xsd:string"
    },
    "fallback_url": {
      "@id": "benmilne:fallback_url",
      "@type": "xsd:string"
    },
    "TranslationMeta": "benmilne:TranslationMeta",
    "automated": {
      "@id": "benmilne:automated",
      "@type": "xsd:boolean"
    },
    "provider": {
      "@id": "benmilne:provider",
      "@type": "xsd:string"
    },
    "source_language": {
      "@id": "benmilne:source_language",
      "@type": "xsd:string"
    },
    "target_language": {
      "@id": "benmilne:target_language",
      "@type": "xsd:string"
    },
    "verified": {
      "@id": "benmilne:verified",
      "@type": "xsd:boolean"
    },
    "stale": {
      "@id": "benmilne:stale",
      "@type": "xsd:boolean"
    },
    "fallback_used": {
      "@id": "benmilne:fallback_used",
      "@type": "xsd:boolean"
    },
    "ResponseMeta": "benmilne:ResponseMeta",
    "is_translation": {
      "@id": "benmilne:is_translation",
      "@type": "xsd:boolean"
    },
    "automated_translation": {
      "@id": "benmilne:automated_translation",
      "@type": "xsd:boolean"
    },
    "disclaimer": {
      "@id": "benmilne:disclaimer",
      "@type": "xsd:string"
    },
    "available_languages": {
      "@id": "benmilne:available_languages",
      "@container": "@list"
    },
    "PostSummary": "benmilne:PostSummary",
    "title": {
      "@id": "benmilne:title",
      "@type": "xsd:string"
    },
    "date": {
      "@id": "benmilne:date",
      "@type": "xsd:string"
    },
    "modified": {
      "@id": "benmilne:modified",
      "@type": "xsd:string"
    },
    "author": {
      "@id": "benmilne:author",
      "@type": "xsd:string"
    },
    "summary": {
      "@id": "benmilne:summary",
      "@type": "xsd:string"
    },
    "url": {
      "@id": "benmilne:url",
      "@type": "xsd:string"
    },
    "translation": {
      "@id": "benmilne:translation",
      "@type": "@id"
    },
    "PaginatedPostsResponse": "benmilne:PaginatedPostsResponse",
    "attribution": {
      "@id": "benmilne:attribution",
      "@type": "xsd:string"
    },
    "data": {
      "@id": "benmilne:data",
      "@container": "@list"
    },
    "pagination": {
      "@id": "benmilne:pagination"
    },
    "meta": {
      "@id": "benmilne:meta",
      "@type": "@id"
    },
    "PostResponse": "benmilne:PostResponse",
    "LanguagesResponse": "benmilne:LanguagesResponse",
    "default_language": {
      "@id": "benmilne:default_language",
      "@type": "xsd:string"
    },
    "total_languages": {
      "@id": "benmilne:total_languages",
      "@type": "xsd:integer"
    },
    "translated_languages": {
      "@id": "benmilne:translated_languages",
      "@type": "xsd:integer"
    },
    "languages": {
      "@id": "benmilne:languages",
      "@container": "@list"
    },
    "StatusResponse": "benmilne:StatusResponse",
    "service": {
      "@id": "benmilne:service",
      "@type": "xsd:string"
    },
    "timestamp": {
      "@id": "benmilne:timestamp",
      "@type": "xsd:string"
    },
    "host": {
      "@id": "benmilne:host",
      "@type": "xsd:string"
    },
    "version": {
      "@id": "benmilne:version",
      "@type": "xsd:string"
    },
    "SiteInfoResponse": "benmilne:SiteInfoResponse",
    "name": {
      "@id": "benmilne:name",
      "@type": "xsd:string"
    },
    "description": {
      "@id": "benmilne:description",
      "@type": "xsd:string"
    },
    "post_count": {
      "@id": "benmilne:post_count",
      "@type": "xsd:integer"
    },
    "TaxonomyListResponse": "benmilne:TaxonomyListResponse",
    "ProductResponse": "benmilne:ProductResponse",
    "format": {
      "@id": "benmilne:format",
      "@type": "xsd:string"
    },
    "price_usd": {
      "@id": "benmilne:price_usd",
      "@type": "xsd:decimal"
    },
    "currency": {
      "@id": "benmilne:currency",
      "@type": "xsd:string"
    },
    "landing_url": {
      "@id": "benmilne:landing_url",
      "@type": "xsd:string"
    },
    "download_url": {
      "@id": "benmilne:download_url",
      "@type": "xsd:string"
    },
    "api_url": {
      "@id": "benmilne:api_url",
      "@type": "xsd:string"
    },
    "NLWebResponse": "benmilne:NLWebResponse",
    "query": {
      "@id": "benmilne:query",
      "@type": "xsd:string"
    },
    "site": {
      "@id": "benmilne:site",
      "@type": "xsd:string"
    },
    "response": {
      "@id": "benmilne:response",
      "@container": "@list"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Ben Milne API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Ben Milne'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-02) from openapi/benmilne-com-openapi.json.",
  "dcterms:created": "2026-11-02",
  "dcterms:source": [
    "openapi/benmilne-com-openapi.json"
  ]
}