EU Open Data Portal Dataset (DCAT-AP)

JSON Schema for an EU Open Data Portal dataset following the DCAT-AP 2.1 metadata standard. Used for describing datasets published by EU institutions and member states.

GovernmentOpen DataSPARQLEURegulatoryLinked Data

Properties

Name Type Description
id string Unique dataset URI identifier
title object Multilingual title (ISO 639-1 language code to string)
description object Multilingual description
issued string Date of formal issuance of the dataset
modified string Most recent date on which the dataset was changed
publisher object
contactPoint object
theme array Dataset themes from the EU Data Theme vocabulary (http://publications.europa.eu/resource/authority/data-theme/)
keyword array Free-text keywords describing the dataset
language array Language(s) of the dataset content (ISO 639-1)
spatial array Geographic coverage as URIs from EU country/place vocabulary
temporal object
accrualPeriodicity string Update frequency URI from EU frequency vocabulary
license string License under which the dataset is published
accessRights string Access rights classification
conformsTo array Standards or specifications the dataset conforms to
distributions array Available distributions (download files, API endpoints) for this dataset
View JSON Schema on GitHub

JSON Schema

eu-open-data-portal-dataset-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.github.io/eu-open-data-portal/json-schema/eu-open-data-portal-dataset-schema.json",
  "title": "EU Open Data Portal Dataset (DCAT-AP)",
  "description": "JSON Schema for an EU Open Data Portal dataset following the DCAT-AP 2.1 metadata standard. Used for describing datasets published by EU institutions and member states.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uri",
      "description": "Unique dataset URI identifier"
    },
    "title": {
      "type": "object",
      "additionalProperties": { "type": "string" },
      "description": "Multilingual title (ISO 639-1 language code to string)",
      "examples": [{ "en": "EU Budget 2023", "fr": "Budget UE 2023" }]
    },
    "description": {
      "type": "object",
      "additionalProperties": { "type": "string" },
      "description": "Multilingual description"
    },
    "issued": {
      "type": "string",
      "format": "date-time",
      "description": "Date of formal issuance of the dataset"
    },
    "modified": {
      "type": "string",
      "format": "date-time",
      "description": "Most recent date on which the dataset was changed"
    },
    "publisher": {
      "$ref": "#/$defs/Publisher"
    },
    "contactPoint": {
      "$ref": "#/$defs/ContactPoint"
    },
    "theme": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "description": "Dataset themes from the EU Data Theme vocabulary (http://publications.europa.eu/resource/authority/data-theme/)"
    },
    "keyword": {
      "type": "array",
      "items": { "type": "string" },
      "description": "Free-text keywords describing the dataset"
    },
    "language": {
      "type": "array",
      "items": { "type": "string" },
      "description": "Language(s) of the dataset content (ISO 639-1)"
    },
    "spatial": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "description": "Geographic coverage as URIs from EU country/place vocabulary"
    },
    "temporal": {
      "$ref": "#/$defs/TemporalCoverage"
    },
    "accrualPeriodicity": {
      "type": "string",
      "format": "uri",
      "description": "Update frequency URI from EU frequency vocabulary"
    },
    "license": {
      "type": "string",
      "format": "uri",
      "description": "License under which the dataset is published"
    },
    "accessRights": {
      "type": "string",
      "enum": ["PUBLIC", "RESTRICTED", "NON_PUBLIC"],
      "description": "Access rights classification"
    },
    "conformsTo": {
      "type": "array",
      "items": {
        "type": "string",
        "format": "uri"
      },
      "description": "Standards or specifications the dataset conforms to"
    },
    "distributions": {
      "type": "array",
      "items": { "$ref": "#/$defs/Distribution" },
      "description": "Available distributions (download files, API endpoints) for this dataset"
    }
  },
  "required": ["id", "title"],
  "$defs": {
    "Publisher": {
      "type": "object",
      "description": "Entity responsible for publishing the dataset",
      "properties": {
        "id": {
          "type": "string",
          "format": "uri",
          "description": "Publisher URI from the EU corporate body authority table"
        },
        "name": {
          "type": "object",
          "additionalProperties": { "type": "string" },
          "description": "Multilingual publisher name"
        },
        "type": {
          "type": "string",
          "description": "Publisher type URI"
        }
      },
      "required": ["id"]
    },
    "ContactPoint": {
      "type": "object",
      "description": "Contact information for the dataset (vCard-based)",
      "properties": {
        "fn": {
          "type": "string",
          "description": "Full name of the contact"
        },
        "hasEmail": {
          "type": "string",
          "description": "Email address (may be prefixed with 'mailto:')"
        },
        "hasURL": {
          "type": "string",
          "format": "uri",
          "description": "Contact web page URL"
        }
      }
    },
    "TemporalCoverage": {
      "type": "object",
      "description": "Temporal period covered by the dataset",
      "properties": {
        "startDate": {
          "type": "string",
          "format": "date",
          "description": "Start date of temporal coverage"
        },
        "endDate": {
          "type": "string",
          "format": "date",
          "description": "End date of temporal coverage (may be null for ongoing datasets)"
        }
      }
    },
    "Distribution": {
      "type": "object",
      "description": "A specific representation of a dataset (file download, API service, etc.)",
      "properties": {
        "id": {
          "type": "string",
          "format": "uri"
        },
        "title": {
          "type": "object",
          "additionalProperties": { "type": "string" }
        },
        "description": {
          "type": "object",
          "additionalProperties": { "type": "string" }
        },
        "accessURL": {
          "type": "string",
          "format": "uri",
          "description": "URL providing access to the distribution"
        },
        "downloadURL": {
          "type": "string",
          "format": "uri",
          "description": "Direct download URL for the distribution file"
        },
        "format": {
          "type": "string",
          "format": "uri",
          "description": "File format from EU file type vocabulary"
        },
        "mediaType": {
          "type": "string",
          "description": "IANA media type (e.g., 'text/csv', 'application/json')"
        },
        "byteSize": {
          "type": "integer",
          "minimum": 0,
          "description": "File size in bytes"
        },
        "issued": {
          "type": "string",
          "format": "date-time"
        },
        "modified": {
          "type": "string",
          "format": "date-time"
        },
        "license": {
          "type": "string",
          "format": "uri"
        },
        "conformsTo": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "required": ["accessURL"]
    }
  }
}