{
  "description": "Advanced: Advanced GeoPose allowing flexible outer frame specification, quaternion orientation, and valid time.",
  "definitions": {
    "FrameSpecification": {
      "type": "object",
      "properties": {
        "authority": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "parameters": {
          "type": "string"
        }
      },
      "required": [
        "authority",
        "id",
        "parameters"
      ]
    },
    "Quaternion": {
      "type": "object",
      "properties": {
        "x": {
          "type": "number",
          "x-jsonld-id": "http://example.com/geopose/x"
        },
        "y": {
          "type": "number",
          "x-jsonld-id": "http://example.com/geopose/y"
        },
        "z": {
          "type": "number",
          "x-jsonld-id": "http://example.com/geopose/z"
        },
        "w": {
          "type": "number",
          "x-jsonld-id": "http://example.com/geopose/w"
        }
      },
      "required": [
        "x",
        "y",
        "z",
        "w"
      ]
    }
  },
  "type": "object",
  "properties": {
    "frameSpecification": {
      "$ref": "#/definitions/FrameSpecification"
    },
    "quaternion": {
      "$ref": "#/definitions/Quaternion",
      "x-jsonld-id": "http://example.com/geopose/quaternion"
    },
    "validTime": {
      "type": "integer"
    }
  },
  "required": [
    "frameSpecification",
    "quaternion"
  ],
  "x-jsonld-extra-terms": {
    "position": {
      "x-jsonld-id": "http://example.com/geopose/position",
      "x-jsonld-context": {
        "lat": "http://www.w3.org/2003/01/geo/wgs84_pos#lat",
        "lon": "http://www.w3.org/2003/01/geo/wgs84_pos#long",
        "h": "http://example.com/geopose/h"
      }
    }
  },
  "x-jsonld-prefixes": {
    "geopose": "http://example.com/geopose/",
    "geo": "http://www.w3.org/2003/01/geo/wgs84_pos#"
  }
}