{ "type": "object", "description": "JSON Schema Representation of an OGPD prototype dataset/document/app aligned with theCKAN metadata schema", "properties": { "name": { "required": true, "description": "Name: Ein für Menschen lesbarer Bezeichner des Datensatzes, des Dokuments oder der Apps, der für eine Identifizierung genutzt werden kann (einfache ASCII-Präsentation des Titels, auch für die Pretty-Link-URL, Linked Data URIs)", "pattern": "^[a-z0-9_-]{2,}$", "type": "string" }, "title": { "required": true, "description": "Titel: Der Titel beschreibt den Datensatz, das Dokument oder die App prägnant und wird z. B. in Suchergebnissen und Listen angezeigt.", "type": "string" }, "notes": { "required": true, "description": "Beschreibung: Beschreibung und weitere Informationen zum Datensatz, zum Dokument oder zur App, wird auf der Detailseite dargestellt und kann mehrere Absätze umfassen.", "type": "string" }, "groups": { "required": true, "description": "Kategorien: Kategorien für die Datensätze und Dokumente. Die Kategorien sind statisch und werden vom Portalbetreiber langfristig gepflegt, s.u. bzw. Liste", "type": "array", "items": { "enum": ["wirtschaft_arbeit", "transport_verkehr", "umwelt_klima", "geo", "gesundheit", "verbraucher", "infrastruktur_bauen_wohnen", "bildung_wissenschaft", "verwaltung", "gesetze_justiz", "bevoelkerung", "politik_wahlen", "soziales", "kultur_freizeit_sport_tourismus"], "type": "string", "description": "Liste der vordefinierten Kategorien" } }, "tags": { "required": false, "description": "Schlagwörter: Freie Schlüsselwörter des Datensatzes, des Dokuments oder der App", "items": { "type": "string" }, "type": "array" }, "url": { "required": false, "description": "Website: Die ursprüngliche Webadresse des Datensatzes, Dokuments oder der App, um zu weiteren Informationen über den Datensatz, das Dokument oder die App zu gelangen. Wird auf der Detailseite als Link angezeigt.", "type": "string", "format": "uri" }, "type": { "required": true, "description": "Typ: Zeigt an, ob ein Datensatz, ein Dokument, eine App beschrieben wird. Entscheidet darüber, in welchem Bereich diese Metadaten angezeigt werden.", "type": "string", "enum": ["datensatz", "dokument", "app"] }, "resources": { "required": true, "description": "Ressourcen: Folgende Felder können für jede Ressource individuell angegeben werden.", "type": "array", "items": { "required": true, "type": "object", "properties": { "url": { "required": true, "description": "URL: Verweis auf die eigentliche Datendatei, das Dokument oder die Anwendung.", "type": "string", "format": "uri" }, "format": { "required": true, "description": "Format: Typ der Ressource (MIME Types)", "type": "string" }, "description": { "required": false, "description": "Beschreibung: Erläuterung, welche Rolle die Ressource für den Datensatz, das Dokument bzw. die App spielt (z. B. ob es sich dabei um eine bestimmte Zeitscheibe oder Schlüsselliste handelt. Der Beschreibungstext, wird mit dem Link zur Ressource unterlegt.)", "type": "string" }, "language": { "required": false, "description": "Sprache: Sprache als ISO 639-1-Code, in der die Ressource verfasst ist.", "pattern": "^[a-z]{2}$", "type": "string" }, "hash": { "required": false, "description": "Prüfsumme: Bei statischen Dateien die SHA2-Prüfsumme bzw. bei dynamischen Daten ein Zertifikat zur Überprüfung der Integrität.", "type": "string" } } } }, "extras": { "required": true, "type": "object", "description": "Extras: Zusaetzliche Angaben", "properties": { "contacts": { "required": true, "description": "Kontakte: Liste der Kontakte zu Metadaten, Daten, Dokument bzw. App, mindestens ein Kontakt ist anzugeben, bevorzugt der Ansprechpartner.", "type": "array", "items": { "type": "object", "properties": { "role": { "enum": ["veroeffentlichende_stelle", "ansprechpartner", "vertrieb", "autor"], "type": "string", "description": "Rolle: Rolle, die dieser Kontakt für das Metadatum innehat. Unter Veröffentlichende Stelle wird die zuständige Behörde bzw. Organisationseinheit verstanden verstanden. Diese Angabe wird auch für den Filter 'nach Bereitsteller' genutzt. Der 'ansprechpartner' soll dagegen von den Datennutzern bei Fragen und Kommentaren kontaktiert werden, daher können auch Funktionstitel und Funktions-Emailadressen angegeben werden." }, "name": { "description": "Name: Name der Person oder Funktion", "type": "string" }, "url": { "description": "Website: Webseite des Kontakts", "type": "string", "format": "uri" }, "email": { "description": "Email: Email-Adresse des Kontakts, wird auch für Benachrichtigungen genutzt.", "type": "string" }, "address": { "description": "Adresse: Postalische Adresse des Kontakts", "type": "string" } } } }, "dates": { "required": true, "description": "Kalender-Daten: Erstellungs-, Veröffentlichungs- und Aktualisierungsdaten von Daten, Dokumenten, Apps und ihren Metadaten. Wird in der Oberfläche so angezeigt, dass Datennutzer einen Eindruck davon bekommen, wie aktuell die Daten sind.", "type": "array", "items": { "type": "object", "properties": { "role": { "enum": ["erstellt", "veroeffentlicht", "aktualisiert"], "type": "string", "description": "Rolle: Rolle, die dieses Datum für den Datensatz spielt" }, "date": { "description": "Datum: Das Kalender-Datum", "type": "string", "format": "date-time" } } } }, "terms_of_use": { "required": true, "description": "Nutzungsbestimmungen: Festlegung der spezifischen Nutzungsbestimmungen des Datensatzes, des Dokuments oder der App.", "type": "object", "properties": { "license_id": { "enum": ["apache", "bsd-license", "cc-by", "cc-by-sa", "cc-nc", "cc-zero", "gfdl", "gpl-3.0", "mit-license", "mozilla", "mozilla1.1", "odc-odbl", "other-closed", "other-open", "app_openSource", "app_freeware", "app_kommerziell" ], "type": "string", "required": false, "description": "Lizenz-ID: Lizenz aus einer festen Liste, s.u. bzw. Liste" }, "other": { "type": "string", "required": false, "description": "Freitext: Freitext, der die Nutzungsbestimmungen festlegt, falls diese keiner allgemein bekannten Lizenz entsprechen." }, "license_url": { "type": "string", "required": false, "description": "URL: URL, auf der die Lizenz des Datensatzes, Dokuments oder der App beschrieben und erklärt ist.", "format": "uri" }, "is_free_to_use": { "type": "boolean", "required": false, "description": "Nutzungsfreiheit: Die Information, ob der Datensatz/das Dokument/die App kostenfrei und zweckoffen ist (muss gesetzt werden, wenn Freitext bei der Lizenzangabe genutzt wird)." } } }, "subgroups": { "required": false, "description": "Unterkategorien: Unterkategorien für die Datensätze und Dokumente. Im Gegensatz zu den Kategorien werden hier genau die (fachlichen) Kategorien der Datenbereitsteller genutzt, d.h. jeder neu angeschlossene Datenbereitsteller kann hier benötigte Unterkategorien hinzufügen, beispielsweise aus INSPIRE oder EVAS. Vgl. Liste. Unterkategorien werden auch für die Navigation und für Filter genutzt.", "type": "array", "items": { "description": "Unterkategorien: Unterkategorien des Datensatzes, des Dokuments oder der App", "type": "string" } }, "metadata_original_portal": { "required": false, "description": "Original-Metadaten-Portal: URL des Portals, von dem der Metadateneintrag des Datensatzes oder des Dokuments geharvestet wurde.", "type": "string", "format": "uri" }, "metadata_original_id": { "required": false, "description": "Original-Metadaten-Schlüssel: Der Identifier des ursprünglichen Metadateneintrags der Datensätze oder der Dokumente. Damit kann schnell die Originalposition von geharvesteten Datensätzen oder Dokumenten nachvollzogen und Dubletten erkannt werden. Wird nicht in der Oberfläche angezeigt.", "type": "string" }, "metadata_original_xml": { "required": false, "description": "Original-Metadaten-XML: URL des Original-Metadateneintrags in der urspruenglichen Form. Wird nicht in der Oberfläche angezeigt. Erscheint als Link in der Detailseite.", "type": "string", "format": "uri" }, "metadata_original_html": { "required": false, "description": "Original-Metadaten-HTML: URL des Original-Metadateneintrags in der HTML-Represantationsform. Erscheint als Link in der Detailseite.", "type": "string", "format": "uri" }, "spatial": { "required": false, "description": "Abdeckung in Koordinaten: Die geographische Abdeckung des Datensatzes in WGS 84 Koordinaten nach GeoJSON http://geojson.org . Wird später für eine geographische Suche verwendet.", "type": "object", "properties": { "type": { "type": "string", "description": "Art der Form: Hier ist zunächst nur Polygon vorgesehen, andere waeren vorstellbar.", "enum": ["polygon"] }, "coordinates": { "type": "array", "description": "Koordinaten Liste der Koordinaten", "items": { "type": "array", "description": "Koordinaten in der Reihenfolge x, y", "items": { "type": "number" } } } } }, "spatial-text": { "required": false, "description": "Abdeckung als Text: Abgedecktes Gebiets, wenn möglich der Amtliche Gemeindeschlüssel. Wird später für eine geographische Suche verwendet.", "type": "string" }, "geographical_granularity": { "required": false, "description": "Räumliche Auflösung: Die geographische Granularität des Datensatzes, eines Dokuments, einer App. Wird später zum Filtern verwendet.", "enum": ["bund", "land", "kommune", "stadt"], "type": "string" }, "temporal_coverage_from": { "required": false, "description": "Start-Datum: Der Zeitpunkt, von dem an der Datensatz, das Dokument oder die App einschließlich Daten enthält. Wird insb. zum Filtern verwendet.", "type": "string", "format": "date-time" }, "temporal_coverage_to": { "required": false, "description": "End-Datum: Der Zeitpunkt, bis zu dem der Datensatz, das Dokument oder die App einschließlich Daten enthält. Wird insb. zum Filtern verwendet.", "type": "string", "format": "date-time" }, "temporal_granularity": { "required": false, "description": "Zeitliche Auflösung: Die zeitliche Auflösung der enthaltenen Daten, des Dokuments oder der App. Wird später zum Filtern verwendet.", "type": "string", "enum": ["sekunde", "minute", "stunde", "tag", "woche", "monat", "quartal", "jahr", "5-jahre"] }, "used_datasets": { "required": false, "description": "Verwendete Datensätze: Die verwendeten Datensätze von Apps mithilfe einer Liste mit URLs auf Metadaten. Wird auf der Detailseite von Apps angezeigt und ausgewertet um festzustellen, ob die App Open Data verwendet.", "type": "array", "items": { "type": "string", "format": "uri" } }, "sector": { "required": false, "description": "Sektor: Zeigt an, ob eine App oder ein Dokument aus dem öffentlichem, dem privaten oder einem anderen Bereich kommt. Wird in einen Piktogramm auf der Detailseite zum Ausdruck gebracht.", "enum": ["oeffentlich", "privat", "andere"], "type": "string" }, "ogd_version": { "required": false, "description": "Struktur-Version: Zeigt an, in welcher Version der OGD Metadaten-Struktur das Metadatum geschrieben ist. Wird nur intern verwendet, um nach Änderungen dieser Struktur festzustellen, ob die Metadaten schon angepasst wurden.", "enum": ["v1.0"], "type": "string" } } } } }