{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "A Shell feature: a closed surface boundary of a Solid, described as an ordered set of directed (oriented) Face references. geometry must be null.",
  "$defs": {
    "testCollection": {
      "$anchor": "testCollection",
      "description": "A convienence ref to a complete, testable collection objects and references",
      "$ref": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature-collection/schema.json"
    }
  },
  "allOf": [
    {
      "$ref": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/features/topo-feature/schema.json"
    },
    {
      "properties": {
        "geometry": {
          "type": "null"
        },
        "topology": {
          "properties": {
            "type": {
              "type": "string",
              "const": "Shell"
            },
            "directed_references": {
              "type": "array",
              "description": "Ordered list of oriented Face references forming the closed shell surface",
              "items": {
                "$ref": "https://ogcincubator.github.io/topo-feature/build/annotated/geo/topo/datatypes/oriented-ref/schema.json"
              },
              "minItems": 4,
              "x-jsonld-id": "https://purl.org/geojson/topo#directedReferences",
              "x-jsonld-container": "@list"
            }
          },
          "required": [
            "type",
            "directed_references"
          ],
          "not": {
            "required": [
              "references"
            ]
          },
          "x-jsonld-type": "@id",
          "x-jsonld-id": "https://purl.org/geojson/vocab#topology"
        }
      },
      "required": [
        "topology"
      ]
    }
  ],
  "x-jsonld-extra-terms": {
    "Shell": "https://purl.org/geojson/topo#Shell",
    "ref": "@id",
    "orientation": "https://purl.org/geojson/topo#orientation"
  },
  "x-jsonld-prefixes": {
    "geojson": "https://purl.org/geojson/vocab#",
    "topo": "https://purl.org/geojson/topo#"
  }
}