Discovery and data catalogue profile

How a government lists its published datasets so people and search engines can find them.

Schemas: 3

Code lists: 2

Standards: schema.org, DCAT / DCAT-AP

Catalog catalog link

A catalogue of a government's published datasets, aligned with DCAT and expressed as a schema.org DataCatalog. DCAT is the international standard here (DCAT-AP in the EU, DCAT-US in the States, and the basis of most national open-data portals), and schema.org DataCatalog is what Google Dataset Search consumes - so this projection has an immediate real consumer rather than a hypothetical one.

Standards: DCAT / DCAT-AP

FieldTypeDefinitionRequired
@id string This catalogue's own dereferenceable identifier. Yes
@type "DataCatalog" Always DataCatalog, a real schema.org type. Yes
name string The catalogue's title. Yes
description string A plain-language description of what this catalogue covers. No
url string Where this catalogue's canonical human-readable page lives. No
identifier Identifier[] Any scheme-qualified identifiers for this catalogue beyond its @id. No
publisher Reference The GovernmentOrganization publishing this catalogue. Yes
about Reference The Jurisdiction covered. No
dataset Reference[] The Datasets listed in this catalogue. No
license string The default licence for datasets in this catalogue, where one applies to all of them. No
inLanguage string[] The language(s) this catalogue is published in. No
dateModified string When this catalogue last changed. No
contactPoint object How to reach the publisher with questions about this catalogue. No
{
  "@id": "https://example-city.gov/id/catalog/open-data",
  "@type": "DataCatalog",
  "name": "Example City open data catalogue",
  "description": "Datasets published by Example City, including its schemaGov profiles.",
  "url": "https://example-city.gov/data",
  "publisher": {
    "@id": "https://example-city.gov/id/organization/city-government",
    "name": "Example City Government"
  },
  "about": {
    "@id": "https://example-city.gov/id/jurisdiction/example-city",
    "name": "Example City"
  },
  "license": "https://creativecommons.org/publicdomain/zero/1.0/",
  "inLanguage": [
    "en-US"
  ],
  "dateModified": "2025-09-06",
  "dataset": [
    {
      "@id": "https://example-city.gov/id/dataset/budget-fy2026"
    },
    {
      "@id": "https://example-city.gov/id/dataset/service-requests"
    },
    {
      "@id": "https://example-city.gov/id/dataset/council-meetings"
    },
    {
      "@id": "https://example-city.gov/id/dataset/tree-inventory"
    }
  ]
}
Download JSON

Dataset dataset link

One published dataset, aligned with DCAT and expressed as a schema.org Dataset. Every schemaGov profile a publisher serves should also appear here as a dataset, so that a consumer arriving through an open-data portal finds the structured data rather than only a CSV of it.

Standards: DCAT / DCAT-AP

FieldTypeDefinitionRequired
@id string This dataset's own dereferenceable identifier. Yes
@type "Dataset" Always Dataset, a real schema.org type. Yes
name string The dataset's title. Yes
description string A plain-language description of what this dataset contains. No
url string Where this dataset's canonical human-readable page lives. No
identifier Identifier[] Any scheme-qualified identifiers for this dataset beyond its @id. No
publisher Reference The GovernmentOrganization publishing this dataset. Yes
creator Reference Who produced the data, when different from the publisher. No
includedInDataCatalog Reference The Catalog this dataset is listed in. No
keywords string[] Search terms someone looking for this dataset might use. No
dataTheme string[] termCode(s) from the DataTheme code list, aligned with the EU data-theme vocabulary that DCAT-AP uses. No
updateFrequency string How often this is refreshed, as an ISO 8601 duration (P1D, P1M) or 'continuous' or 'irregular'. DCAT dct:accrualPeriodicity. A dataset with no stated cadence cannot be told apart from an abandoned one. No
accessRights string DCAT dct:accessRights. 'restricted' means the metadata is public but the data is not. No
spatialCoverage Reference The Jurisdiction or area this dataset covers. No
temporalCoverage string ISO 8601 interval, e.g. 2020-01-01/2025-12-31. No
datePublished string When this dataset was first published. No
dateModified string When this dataset last changed. No
license string The licence this dataset is published under. No
inLanguage string[] The language(s) this dataset is published in. No
conformsToProfile "core" | "org" | "code" | "meetings" | "requests" | "budget" | "procurement" | "catalog" | "alerts" The schemaGov profile this dataset serves, where it serves one. This is what links an open-data catalogue entry to structured schemaGov data. No
distribution object[] The actual files or endpoints. A dataset with no distribution is an announcement, not data. Yes
conformsTo string[] External standards this dataset follows, e.g. an Akoma Ntoso or OpenAPI version. DCAT dct:conformsTo. Distinct from conformanceLevel. No
applicableLegislation string[] Legislation mandating or governing this dataset, typically an ELI URI. Observed on EU portals under the Open Data Directive; a direct join from catalog to the code profile. No
hvdCategory string EU High Value Dataset category URI. A legal classification under the Open Data Directive, not a subject theme. No
highValueDataset boolean Whether this dataset is designated a High Value Dataset under the EU Open Data Directive. See hvdCategory for which category. No
spatialReferenceSystem string EPSG code of the dataset's coordinate reference system, e.g. 'epsg:2157'. GeoJSON mandates WGS84 but national grids are in daily use, so an international profile cannot assume it. No
provenanceStatement string A plain-language note on where the data comes from and how it's produced, where that isn't obvious from the publisher alone. No
{
  "@id": "https://example-city.gov/id/dataset/budget-fy2026",
  "@type": "Dataset",
  "name": "FY2026 approved budget",
  "description": "Adopted operating budget for fiscal year 2026, classified by COFOG and GFSM.",
  "publisher": {
    "@id": "https://example-city.gov/id/organization/city-government",
    "name": "Example City Government"
  },
  "includedInDataCatalog": {
    "@id": "https://example-city.gov/id/catalog/open-data",
    "name": "Example City open data catalogue"
  },
  "dataTheme": [
    "ECON",
    "GOVE"
  ],
  "updateFrequency": "P1Y",
  "accessRights": "public",
  "spatialCoverage": {
    "@id": "https://example-city.gov/id/jurisdiction/example-city",
    "name": "Example City"
  },
  "license": "https://creativecommons.org/publicdomain/zero/1.0/",
  "inLanguage": [
    "en-US"
  ],
  "conformsToProfile": "budget",
  "temporalCoverage": "2025-07-01/2026-06-30",
  "datePublished": "2025-06-20",
  "dateModified": "2025-06-16",
  "distribution": [
    {
      "@type": "DataDownload",
      "name": "schemaGov budget profile",
      "contentUrl": "https://example-city.gov/data/budget.jsonld",
      "encodingFormat": "application/ld+json"
    },
    {
      "@type": "DataDownload",
      "name": "Fiscal Data Package",
      "contentUrl": "https://example-city.gov/budget/fy2026/datapackage.json",
      "encodingFormat": "application/json"
    },
    {
      "@type": "DataDownload",
      "name": "CSV extract",
      "contentUrl": "https://example-city.gov/budget/fy2026/lines.csv",
      "encodingFormat": "text/csv"
    }
  ]
}
Download JSON

PublisherManifest manifest link

The document that makes a government's schemaGov data findable at all. Served at /.well-known/schemaGov.json (RFC 8615), it declares who is publishing, which jurisdiction they cover, which profiles they publish, and where each one lives. Without it a consumer has no entry point: seven profiles of well-modelled data are useless if nobody can discover the URLs. This is the only document in schemaGov with a fixed, conventional location.

FieldTypeDefinitionRequired
@id string This manifest's own dereferenceable identifier. Yes
@type "PublisherManifest" Always PublisherManifest. Yes
name string The publisher's name, for display. No
description string A plain-language description of what this publisher makes available. No
publisher Reference The GovernmentOrganization responsible. Required: unattributed data cannot be trusted or corrected. Yes
about Reference The Jurisdiction covered. Yes
specVersion string The schemaGov version this publisher targets, e.g. '1.0.0'. Lets a consumer detect a publisher pinned to an older profile. No
conformanceLevel string[] schemaGov conformance level claimed, per SPEC section 4. Distinct from conformsTo, which names an external standard the data follows. No
profileEndpoint object[] One entry per published profile. This is the routing table. Yes
catalog Reference The publisher's DataCatalog, where one exists. No
contactPoint object How to reach the publisher with questions about this data. No
inLanguage string[] The language(s) this publisher's schemaGov data is published in. No
license string The default licence for the data this manifest points to, where one applies across all of it. No
dateModified string When this manifest last changed. No
{
  "@id": "https://example-city.gov/.well-known/schemaGov.json",
  "@type": "PublisherManifest",
  "name": "Example City schemaGov publication",
  "description": "Structured government data published by Example City.",
  "publisher": {
    "@id": "https://example-city.gov/id/organization/city-government",
    "name": "Example City Government"
  },
  "about": {
    "@id": "https://example-city.gov/id/jurisdiction/example-city",
    "name": "Example City"
  },
  "specVersion": "1.0.0",
  "conformanceLevel": [
    "standard"
  ],
  "inLanguage": [
    "en-US",
    "es-US"
  ],
  "license": "https://creativecommons.org/publicdomain/zero/1.0/",
  "dateModified": "2025-09-06",
  "catalog": {
    "@id": "https://example-city.gov/id/catalog/open-data",
    "name": "Example City open data catalogue"
  },
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "open data",
    "email": "data@example-city.gov",
    "availableLanguage": [
      "en-US",
      "es-US"
    ]
  },
  "profileEndpoint": [
    {
      "@type": "ProfileEndpoint",
      "profile": "core",
      "url": "https://example-city.gov/data/core.jsonld",
      "encodingFormat": "application/ld+json",
      "dateModified": "2025-09-06",
      "description": "Jurisdictions, organizations, people, roles and facilities."
    },
    {
      "@type": "ProfileEndpoint",
      "profile": "org",
      "url": "https://example-city.gov/data/org.jsonld",
      "encodingFormat": "application/ld+json",
      "dateModified": "2025-09-06"
    },
    {
      "@type": "ProfileEndpoint",
      "profile": "code",
      "url": "https://example-city.gov/data/code.jsonld",
      "encodingFormat": "application/ld+json",
      "dateModified": "2025-07-15"
    },
    {
      "@type": "ProfileEndpoint",
      "profile": "meetings",
      "url": "https://example-city.gov/data/meetings.jsonld",
      "encodingFormat": "application/ld+json",
      "dateModified": "2025-09-05"
    },
    {
      "@type": "ProfileEndpoint",
      "profile": "requests",
      "url": "https://example-city.gov/data/requests.jsonld",
      "encodingFormat": "application/ld+json",
      "dateModified": "2025-09-06",
      "description": "Rolling 90 days. The full Open311 endpoint is at /api/open311/v2."
    },
    {
      "@type": "ProfileEndpoint",
      "profile": "budget",
      "url": "https://example-city.gov/data/budget.jsonld",
      "encodingFormat": "application/ld+json",
      "dateModified": "2025-06-16"
    },
    {
      "@type": "ProfileEndpoint",
      "profile": "procurement",
      "url": "https://example-city.gov/data/procurement.jsonld",
      "encodingFormat": "application/ld+json",
      "dateModified": "2025-09-01"
    },
    {
      "@type": "ProfileEndpoint",
      "profile": "catalog",
      "url": "https://example-city.gov/data/catalog.jsonld",
      "encodingFormat": "application/ld+json",
      "dateModified": "2025-09-06"
    }
  ]
}
Download JSON