{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "Schema for GeoBlacklight as implemented for Solr 4.10+. See http://journal.code4lib.org/articles/9710 for more details. Note that the Solr schema uses dynamic typing based on the suffix of the field name. For example, _s denotes a string where _sm denotes a multi-valued string (array of strings).",
    "id": "http://geoblacklight.org/schema",
    "properties": {
        "dc_creator_sm": {
            "description": "Author(s). Example: George Washington, Thomas Jefferson.",
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "dc_description_s": {
            "description": "Description for the layer.",
            "type": "string"
        },
        "dc_format_s": {
            "description": "File format for the layer, using a controlled vocabulary.",
            "enum": [
                "Shapefile",
                "GeoTIFF",
                "ArcGRID",
                "GeoJSON",
                "AAIGrid",
                "USGSDEM",
                "JPEG",
                "TIFF"
            ],
            "type": "string"
        },
        "dc_identifier_s": {
            "description": "Unique identifier for layer. May be same as UUID but may be an alternate identifier.",
            "type": "string"
        },
        "dc_language_s": {
            "description": "Language for the layer. Example: English.",
            "type": "string"
        },
        "dc_publisher_s": {
            "description": "Publisher. Example: ML InfoMap.",
            "type": "string"
        },
        "dc_rights_s": {
            "description": "Access rights for the layer.",
            "enum": [
                "Public",
                "Restricted"
            ],
            "type": "string"
        },
        "dc_subject_sm": {
            "description": "Subjects, preferrably in a controlled vocabulary. Examples: Census, Human settlements.",
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "dc_title_s": {
            "description": "Title for the layer.",
            "type": "string"
        },
        "dc_type_s": {
            "description": "Resource type, using DCMI Type Vocabulary.",
            "enum": [
                "Dataset",
                "Image",
                "PhysicalObject"
            ],
            "type": "string"
        },
        "dct_isPartOf_sm": {
            "description": "Holding dataset for the layer, such as the name of a collection. Example: Village Maps of India.",
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "dct_issued_dt": {
            "_format": "date-time",
            "description": "Issued date for the layer, using XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ).",
            "type": "string"
        },
        "dct_provenance_s": {
            "description": "Institution who holds the layer.",
            "type": "string"
        },
        "dct_references_s": {
            "description": "JSON hash for external resources, where each key is a URI for the protocol or format and the value is the URL to the resource.",
            "type": "string"
        },
        "dct_spatial_sm": {
            "description": "Spatial coverage and place names, preferrably in a controlled vocabulary. Example: 'Paris, France'.",
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "dct_temporal_sm": {
            "description": "Temporal coverage, typically years or dates. Example: 1989, circa 2010, 2007-2009. Note that this field is not in a specific date format.",
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "georss_box_s": {
            "description": "Bounding box as maximum values for S W N E. Example: 12.6 -119.4 19.9 84.8.",
            "type": "string"
        },
        "georss_point_s": {
            "description": "Point representation for layer as y, x - i.e., centroid. Example: 12.6 -119.4.",
            "type": "string"
        },
        "layer_geom_type_s": {
            "description": "Geometry type for layer data, using controlled vocabulary.",
            "enum": [
                "Point",
                "Line",
                "Polygon",
                "Raster",
                "Scanned Map",
                "Mixed"
            ],
            "type": "string"
        },
        "layer_id_s": {
            "description": "The complete identifier for the layer via WMS/WFS/WCS protocol. Example: druid:vr593vj7147.",
            "type": "string"
        },
        "layer_modified_dt": {
            "_format": "date-time",
            "description": "Last modification date for the metadata record, using XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ).",
            "type": "string"
        },
        "layer_slug_s": {
            "description": "Unique identifier visible to the user, used for Permalinks. Example: stanford-vr593vj7147.",
            "type": "string"
        },
        "solr_geom": {
            "description": "Derived from georss_polygon_s or georss_box_s. Shape of the layer as a ENVELOPE WKT using W E N S. Example: ENVELOPE(76.76, 84.76, 19.91, 12.62). Note that this field is indexed as a Solr spatial (RPT) field.",
            "pattern": "ENVELOPE(.*,.*,.*,.*)",
            "type": "string"
        },
        "solr_year_i": {
            "description": "Derived from dct_temporal_sm. Year for which layer is valid and only a single value. Example: 1989. Note that this field is indexed as a Solr numeric field.",
            "type": "integer"
        },
        "uuid": {
            "description": "Unique identifier for layer that is globally unique.",
            "type": "string"
        }
    },
    "required": [
        "uuid",
        "dc_identifier_s",
        "dc_title_s",
        "dc_description_s",
        "dc_rights_s",
        "dct_provenance_s",
        "georss_box_s",
        "layer_id_s",
        "layer_geom_type_s",
        "layer_modified_dt",
        "layer_slug_s",
        "solr_geom",
        "solr_year_i"
    ],
    "title": "GeoBlacklight Schema",
    "type": "object"
}