Skip to content

DCAT Metadata

Overview

DCAT (Data Catalog Vocabulary) is metadata schema for web-based data catalogs. It is intended to facilitate interoperability and many data platforms offer a DCAT API for metadata sharing.

The most up-to-date documentation of the schema can be found here: https://www.w3.org/TR/vocab-dcat-3/

Documentation that is older, but still in use for United States portals can be found here: https://resources.data.gov/resources/dcat-us/

JSON Structure

Many of the data platforms in the United States use a DCAT profile documented as "Project Open Data Catalog". The following JSON template shows the generic structure of a DCAT JSON document:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "https://project-open-data.cio.gov/v1.1/schema/catalog.json#",
  "title": "Project Open Data Catalog",
  "description": "Validates an entire collection of Project Open Data metadata JSON objects. Agencies produce said collections in the form of Data.json files.",
  "type": "object",
  "dependencies": {
    "@type": [
      "@context"
    ]
  },
  "required": [
    "conformsTo",
    "dataset"
  ],
  "properties": {
    "@context": {
      "title": "Metadata Context",
      "description": "URL or JSON object for the JSON-LD Context that defines the schema used",
      "type": "string",
      "format": "uri"
    },
    "@id": {
      "title": "Metadata Catalog ID",
      "description": "IRI for the JSON-LD Node Identifier of the Catalog. This should be the URL of the data.json file itself.",
      "type": "string",
      "format": "uri"
    },
    "@type": {
      "title": "Metadata Context",
      "description": "IRI for the JSON-LD data type. This should be dcat:Catalog for the Catalog",
      "enum": [
        "dcat:Catalog"
      ]
    },
    "conformsTo": {
      "description": "Version of Schema",
      "title": "Version of Schema",
      "enum": [
        "https://project-open-data.cio.gov/v1.1/schema"
      ]
    },
    "describedBy": {
      "description": "URL for the JSON Schema file that defines the schema used",
      "title": "Data Dictionary",
      "type": "string",
      "format": "uri"
    },
    "dataset": {
      "type": "array",
      "items": {
        "$ref": "dataset.json",
        "minItems": 1,
        "uniqueItems": true
      }
    }
  }
}

How to find the DCAT API

Most sites, including Socrata:

To find a data API, a good place to start is to try appending the string "/data.json" to the base URL. If available, your browser will display the data catalog as a JSON file.

ArcGIS Hubs:

  • Version 1: append the string "/api/feed/dcat-us/1.1.json". Esri made this change was made in 2022 to differentiate the older DCAT version from 2.0. Our harvest recipe current uses this version.
  • Version 2: use the string "api/feed/dcat-ap/2.0.1.json". We plan to evaluate the newer format and will consider migrating our recipe in 2024.