Metadaten (DCAT-AP-Standard)

Metadaten beschreiben einen Datensatz: wer ihn herausgegeben hat, unter welcher Lizenz er steht und welchem Thema er zuzuordnen ist. Die ODI folgt dem DCAT-AP-Standard (Data Catalog Vocabulary – Application Profile), einem europäischen Standard für die Beschreibung von Open-Data-Katalogen und Datensätzen. Felder wie Lizenz (dct:license) und Kategorie (dcat:theme) stammen direkt aus diesem Vokabular.

Weiterführende Informationen zum Standard: dcat-ap.de · DCAT-AP 3.0 Spezifikation

Der Metadaten-Service stellt Kataloge, Lizenzen, Herausgeber, Kategorien und Raumbezüge als verwaltete Ressourcen bereit. Jede Ressource hat einen eindeutigen identifier, der als Pflichtfeld im Upload-Request übergeben wird.

Vollständige API-Dokumentation: metadata-service.odi.schleswig-holstein.de/docs

Metadaten-IDs abrufen

Das Upload-Feld ist der Name des Formularfelds, das beim Hochladen eines Datensatzes über die API übergeben wird (z. B. als multipart/form-data-Parameter im POST /upload/csv-Request).

Upload-Feld Endpunkt DCAT-AP-Attribut Beschreibung
catalogue GET /catalogs dcat:catalog Katalog, dem der Datensatz zugeordnet wird
licenseId GET /licenses dct:license Lizenz des Datensatzes
publisherId GET /publisher dct:publisher Herausgeber des Datensatzes
categoryIdsJsonString GET /categories dcat:theme Thematische Kategorien
spatialReferenceId GET /places dct:spatial Geografischer Raumbezug

Datenkataloge (catalogue)

Ein Katalog ist der Datencontainer, dem ein Datensatz zugeordnet wird. Welcher Katalog verwendet werden soll, ist in der Regel durch die Umgebung oder Organisation vorgegeben.

curl -X GET "https://metadata-service.odi.schleswig-holstein.de/catalogs"

Beispiel-Response:

[
  {
    "identifier": "opendata-sh",
    "name": {
      "de": "Open Data SH",
      "en": "Open Data SH"
    }
  }
]

Der Wert von identifier wird als catalogue im Upload-Request verwendet.

Lizenzen (licenseId) – DCAT-AP: dct:license

Die Lizenz regelt, unter welchen Bedingungen der Datensatz genutzt werden darf. Es muss eine der im System hinterlegten Lizenzen verwendet werden.

curl -X GET "https://metadata-service.odi.schleswig-holstein.de/licenses"

Beispiel-Response:

[
  {
    "identifier": "http://dcat-ap.de/def/licenses/cc-zero",
    "name": {
      "de": "Creative Commons CC Zero License (cc-zero)",
      "en": "Creative Commons CC Zero License (cc-zero)"
    }
  }
]

Der Wert von identifier wird als licenseId verwendet.

Häufig verwendete Lizenzen:

ID (identifier) Name
http://dcat-ap.de/def/licenses/cc-zero Creative Commons CC Zero License (cc-zero)
http://dcat-ap.de/def/licenses/cc-by/4.0 Creative Commons Namensnennung – 4.0 International (CC BY 4.0)
http://dcat-ap.de/def/licenses/dl-zero-de/2.0 Datenlizenz Deutschland – Zero – Version 2.0
http://dcat-ap.de/def/licenses/dl-by-de/2.0 Datenlizenz Deutschland Namensnennung 2.0
http://dcat-ap.de/def/licenses/officialWork Amtliches Werk, lizenzfrei nach §5 Abs. 1 UrhG

Info

Die vollständige Liste aller verfügbaren Lizenzen kann über GET /licenses abgerufen werden.

Herausgeber / Publisher (publisherId)

Der Herausgeber ist die Organisation oder Behörde, die den Datensatz bereitstellt und verantwortlich zeichnet.

curl -X GET "https://metadata-service.odi.schleswig-holstein.de/publisher"

Beispiel-Response:

[
  {
    "identifier": "dataport",
    "name": {
      "de": "Dataport AöR",
      "en": "Dataport AöR"
    }
  }
]

Der Wert von identifier wird als publisherId verwendet.

Info

Falls der eigene Herausgeber noch nicht vorhanden ist, kann er über POST /publisher angelegt werden. Dieser Endpunkt erfordert einen gültigen JWT-Token.

Thematische Kategorien / Data-Themes (categoryIdsJsonString) – DCAT-AP: dcat:theme

Kategorien klassifizieren Datensätze nach Themengebieten (z. B. Umwelt, Verkehr, Bildung). Das Feld entspricht dem DCAT-AP-Attribut dcat:theme und verwendet das EU-kontrollierte Vokabular Data Theme. Ein Datensatz kann mehreren Kategorien gleichzeitig zugeordnet werden.

curl -X GET "https://metadata-service.odi.schleswig-holstein.de/categories"

Beispiel-Response:

[
  {
    "identifier": "envi",
    "name": {
      "de": "Umwelt",
      "en": "Umwelt"
    }
  }
]

Der Wert von identifier wird in das JSON-Array für categoryIdsJsonString eingetragen.

Verfügbare Kategorien:

ID (identifier) Name
soci Bevölkerung und Gesellschaft
educ Bildung, Kultur und Sport
ener Energie
heal Gesundheit
intr Internationale Themen
just Justiz, Rechtssystem und öffentliche Sicherheit
agri Landwirtschaft, Fischerei, Forstwirtschaft und Nahrungsmittel
gove Regierung und öffentlicher Sektor
regi Regionen und Städte
envi Umwelt
tran Verkehr
econ Wirtschaft und Finanzen
tech Wissenschaft und Technologie

Info

Das Feld categoryIdsJsonString erwartet die Kategorie-IDs als JSON-Array im String-Format, z. B.: '["envi","tech"]'

Raumbezug (spatialReferenceId)

Der Raumbezug beschreibt den geografischen Geltungsbereich eines Datensatzes (z. B. ein Bundesland, ein Landkreis oder eine Gemeinde).

curl -X GET "https://metadata-service.odi.schleswig-holstein.de/places"

Beispiel-Response:

[
  {
    "identifier": "http://dcat-ap.de/def/politicalGeocoding/stateKey/01",
    "name": {
      "de": "Bundesland Schleswig-Holstein",
      "en": "Bundesland Schleswig-Holstein"
    }
  }
]

Der Wert von identifier wird als spatialReferenceId verwendet.