diff --git a/geoblacklight-schema.json b/geoblacklight-schema.json new file mode 100644 index 0000000..0c42f5c --- /dev/null +++ b/geoblacklight-schema.json @@ -0,0 +1,173 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Schema for GeoBlacklight as implemented for Solr 4.7+. 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", + "title": "GeoBlacklight Schema", + "required": [ + "uuid", + "dc_identifier_s", + "dc_title_s", + "dc_description_s", + "dc_rights_s", + "dct_provenance_s", + "dct_references_s", + "georss_box_s", + "layer_id_s", + "layer_geom_type_s", + "layer_modified_dt", + "layer_slug_s", + "solr_bbox", + "solr_geom", + "solr_year_i" + ], + "type": "object", + "properties": { + "uuid": { + "type": "string", + "description": " Unique identifier for layer that is globally unique." + + }, + "dc_identifier_s": { + "type": "string", + "description": " Unique identifier for layer. May be same as UUID but may be an alternate identifier." + }, + "dc_title_s": { + "type": "string", + "description": " Title for the layer." + + }, + "dc_description_s": { + "type": "string", + "description": " Description for the layer." + + }, + "dc_rights_s": { + "type": "string", + "enum": ["Public", "Restricted"], + "description": " Access rights for the layer. Must be Public or Restricted." + + }, + "dct_provenance_s": { + "type": "string", + "description": " Institution who holds the layer." + + }, + "dct_references_s": { + "type": "string", + "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." + + }, + "georss_box_s": { + "type": "string", + "description": " Bounding box as maximum values for S W N E. Example: 12.6 -119.4 19.9 84.8." + + }, + "layer_id_s": { + "type": "string", + "description": " The complete identifier for the layer via WMS/WFS/WCS protocol. Example: druid:vr593vj7147." + + }, + "layer_geom_type_s": { + "type": "string", + "enum": ["Point", "Line", "Polygon", "Raster", "Scanned Map", "Paper Map", "Mixed"], + "description": " Geometry type for layer data." + + }, + "layer_modified_dt": { + "type": "string", + "description": " Last modification date for the metadata record in the Solr date/time format. Example: 2014-04-30T13:48:51Z. Note that this field is indexed as a Solr date-time field." + + }, + "layer_slug_s": { + "type": "string", + "description": " Unique identifier visible to the user, used for Permalinks. Example: stanford-vr593vj7147." + + }, + "solr_bbox": { + "type": "string", + "description": "Derived from georss_box_s. Bounding box as maximum values for W S E N. Example: 76.76 12.62 84.76 19.91. Note that this field is indexed as a Solr spatial field." + + }, + "solr_geom": { + "type": "string", + "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 field." + + }, + "solr_year_i": { + "type": "integer", + "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." + + }, + "dc_creator_sm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Author(s). Example: George Washington, Thomas Jefferson." + + }, + "dc_format_s": { + "type": "string", + "description": "File format for the layer. Examples: Shapefile, GeoTIFF, ArcGRID." + + }, + "dc_language_s": { + "type": "string", + "description": "Language for the layer. Example: English." + + }, + "dc_publisher_s": { + "type": "string", + "description": "Publisher. Example: ML InfoMap." + + }, + "dc_subject_sm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Subjects, preferrably in a controlled vocabulary. Examples: Census, Human settlements." + + }, + "dc_type_s": { + "type": "string", + "enum": ["Dataset", "Image", "PhysicalObject"], + "description": "Resource type." + + }, + "dct_spatial_sm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Spatial coverage and place names. Example: Paris, France." + + }, + "dct_temporal_sm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Temporal coverage, typically years or dates. Example: 1989, 2010." + + }, + "dct_issued_dt": { + "type": "string", + "description": "Issued date for the layer." + + }, + "dct_isPartOf_sm": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Holding dataset for the layer, such as the name of a collection. Example: Village Maps of India." + + }, + "georss_point_s": { + "type": "string", + "description": "Point representation for layer as y, x - i.e., centroid. Example: 12.6 -119.4." + + } + } +}