zcewij edited this page Jan 26, 2018 · 28 revisions

The GeoBlacklight Schema is a metadata schema for GIS resource discovery, and focuses solely on discovery use cases. Text search, faceted search and refinement, and spatial search and relevancy are among the primary features that the schema enables.


The entire schema is organized around "layers" as the unit of description. Each layer corresponds to a single set of data that can be described, downloaded, and previewed (typically). For example, these data of census boundaries is considered a single layer in GeoBlacklight.

A layer is a specific unit of data that contains a set of geospatial features, a metadata description, and a feature catalog. For example, a census layer would have the geometries of census tracts and the demographic results within each tract. -- from Hardy & Durante (2014)


See the current version of the schema for field descriptions and values.


These metadata are required for the core GeoBlacklight features.

  • Identifier (dc_identifier_s)
  • Slug (layer_slug_s)
  • Title (dc_title_s)
  • Bounding box (solr_geom)
  • Holding Institution (dct_provenance_s)
  • Rights (dc_rights_s)
  • Schema Version (geoblacklight_version)


  "geoblacklight_version": "1.0",
  "dc_identifier_s": "http://purl.stanford.edu/rf385pb1942",
  "layer_slug_s": "stanford-rf385pb1942",
  "dc_title_s": "Census Places, 1990 - San Francisco Bay Area, California",
  "dc_rights_s": "Public",
  "dct_provenance_s": "Stanford",
  "solr_geom": "ENVELOPE(-123.174941, -121.520451, 38.818479, 36.975699)"

Recommended, but Optional

These metadata are recommended to enable extra GeoBlacklight features, like preview and download, and to improve the user experience.

  • Description (dc_description_s)
  • Geometry type (layer_geom_type_s)
  • External Services (dct_references_s)
  • Layer Identifier for external services (layer_id_s)


These metadata are primarly used for faceting and to improve the user experience.

  • Author(s) (dc_creator_sm)
  • Collection (dct_isPartOf_sm)
  • Date(s) for layer data (dct_temporal_sm)
  • File format (dc_format_s)
  • Issued date (dct_issued_dt)
  • Language (dc_language_s)
  • Originating Layer data (dc_source_sm)
  • Placename(s) (dct_spatial_sm)
  • Publisher (dc_publisher_s)
  • Subject(s) (dc_subject_sm)
  • Type (dc_type_s)

Custom Fields

If an organization wishes to implement a custom metadata field for their GeoBlacklight instance, the naming schema should reference the organization and be developed as follows:



  • stanford_rights_metadata_s
  • b1g_centroid_ss
  • nyu_addl_downloads_s

Identifiers vs. Slugs vs. Layer_ID

An identifier is a unique identifier for layer as a URI. It should be globally unique across all institutions, assumed not to be end-user visible, and is usually of the form http://institution/id. Some examples of identifiers include:

  • http://purl.stanford.edu/vr593vj7147
  • http://hdl.handle.net/2451/34708
  • urn:example.org:ad0e6ebc-824e-4450-a0d9-987f2232724f

A slug identifies a layer in, ideally, human-readable keywords. This value is visible to the user and used for Permalinks. The value should be alpha-numeric characters separated by dashes, and is typically of the form institution-keyword1-keyword2. It should also be globally unique across all institutions in your GeoBlacklight index. Some examples of slugs include:

  • india-map
  • stanford-andhra-pradesh-village-boundaries
  • stanford-aa111bb2222 (valid, but not ideal as it's not human-readable)

A layer ID (layer_id_s) identifies a layer in the WxS web services. This value is only used when you have WxS services listed in your external references (dct_references_s). Some examples of values include:

  • UCB:elev_100ft_polygon
  • aa111bb2222

External Services

The field dct_references_s defines external services and references using the CatInterOp approach. The field value is a serialized JSON array of key/value pairs, with keys representing XML namespace URI's and values the URL, for example:

<field name="dct_references_s">

This table shows the various types of external references and features they enable in GeoBlacklight:

Type Reference URI Enables in GeoBlacklight
Web Mapping Service (WMS) http://www.opengis.net/def/serviceType/ogc/wms Layer preview, layer preview feature inspection, downloads (vector: KMZ, raster: GeoTIFF)
Web Feature Service (WFS) http://www.opengis.net/def/serviceType/ogc/wfs Vector downloads in GeoJSON and Shapefile
International Image Interoperability Framework (IIIF) Image API http://iiif.io/api/image Image viewer using Leaflet-IIIF
Direct download file http://schema.org/downloadUrl Direct file download feature
Data dictionary / documentation download http://lccn.loc.gov/sh85035852 Direct documentation download link
Full layer description http://schema.org/url Further descriptive information about layer
Metadata in ISO 19139 http://www.isotc211.org/schemas/2005/gmd/ Structured metadata in ISO format
Metadata in FGDC http://www.opengis.net/cat/csw/csdgm/ Structured metadata in FGDC format
Metadata in MODS http://www.loc.gov/mods/v3 Structured metadata in MODS format
Metadata in HTML http://www.w3.org/1999/xhtml Structured metadata in HTML format
ArcGIS FeatureLayer urn:x-esri:serviceType:ArcGIS#FeatureLayer Previewing of ArcGIS FeatureLayer Service
ArcGIS TiledMapLayer urn:x-esri:serviceType:ArcGIS#TiledMapLayer Previewing of ArcGIS TiledMapLayer Service
ArcGIS DynamicMapLayer urn:x-esri:serviceType:ArcGIS#DynamicMapLayer Previewing of ArcGIS DynamicMapLayer Service
ArcGIS ImageMapLayer urn:x-esri:serviceType:ArcGIS#ImageMapLayer Previewing of ArcGIS ImageMapLayer Service
Harvard Geospatial Library Email Download http://schema.org/DownloadAction Retrieve a file via email from the Harvard Geospatial Library
OpenIndexMap https://openindexmaps.org Provide an index map preview

Writing Metadata

A key question is how you will write or generate metadata for your layers that conforms to the GeoBlacklight schema. There are many approaches. One approach is to enter in the metadata natively in the GeoBlacklight schema, or similar, format. Another approach is to transform metadata in another standard like ISO 19139 or FGDC into the GeoBlacklight schema using a tool. In this case, you typically have an authoratative metadata format, like in ISO 19139, and then derivative transformations into other standards like GeoBlacklight Schema.

Note that OpenGeoMetadata has metadata for thousands of layers held at a variety of institutions. That is a great place to start! There's plenty of examples of real metadata.

Practice at Stanford

At Stanford, we use the latter approach and transform our metadata records from ISO 19139 to GeoBlacklight. We natively author our metadata in ESRI ArcCatalog and then transform into ISO 19139. Our library catalog software uses MODS so we transform ISO 19139 into MODS, as well as into GeoBlacklight for our GeoBlacklight catalog.

Metadata Workflow

Example Metadata for Layer

Take, for example, the metadata for this layer. It has the ISO 19139 version of the metadata, along with the Feature Catalog (in ISO 19110). We also have the transformation into MODS and to GeoBlacklight, as well as a preview image. In some cases, you may even have an HTML version of the metadata for someone to read.

Validating Metadata

The current version of the schema is available as a JSON-Schema file. This file format provides support for data validation via a variety of tools. GeoCombine also has a .valid? method that makes using these tools simple.


You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.