## Zusammenfassung Ein bildungsbereichübergreifendes Metadatenprofil für die Beschreibung von Lehr- und Lernressourcen, das hauptsächlich auf [[?schema.org]] bzw. Learning Resource Metadata Initiative [[?LRMI]] basiert und zusätzlich Teile von Simple Knowledge Organization System [[?SKOS]] nutzt. Definiert wird eine [[JSON-LD11]]-konforme Datenstruktur in Form dieser HTML-Spezifikation inklusive eines JSON-Schemas, gegen das Daten automatisiert auf Konformität mit dem Profil geprüft werden können.
## Einleitung Metadaten sind beschreibende Daten, die das Auffinden von relevanten Wissensressourcen erleichtern sollen. Metadaten für Bildungsressourcen sollen das Finden und den Austausch von im Web verfügbaren Lehr- und Lernressourcen unterstützen. Es existieren bereits eine Menge unterschiedlicher Metadatenschemas für die Beschreibung von Webressourcen. Prominente Beispiele sind [[DC-Terms]] oder [[schema.org]]. Diese Schemas sind oft sehr allgemein gehalten, damit sie von einer Vielzahl von Angeboten sinnvoll nutzbar sind. Community- oder anwendungsspezifische Konkretisierungen, Erweiterungen oder auch Kombinationen von Metadatenschemas werden in sogenannten Metadatenprofilen (Englisch "metadata profiles", häufig auch "application profiles" genannt) festgehalten. Metadatenprofile beschreiben also die Art und Weise der Nachnutzung existierender Metadatenschemas, indem sie folgende Informationen angeben: - Welche Properties (Metadatenfelder) und Typen aus welchen Metadatenschemas werden benutzt? - Welche zusätzlichen Einschränkungen bei der Nutzung sind festgelegt, z.B. Pflichtfelder, Wiederholbarkeit eines Feldes, Formatvorgaben für Werte, genutzte kontrollierte Vokabulare? ### Bildungsbereiche Das Allgemeine Metadatenprofil für Bildungsressourcen (AMB) ist bewusst so allgemein gehalten, dass sie sowohl den Schul- als auch den Hochschulbereich abdeckt. Bei Unterschieden in beiden Bildungsbereichen (fachliche Zuordnung, Ressourcentyp) wird auf bereichsspezifische Best Practices verwiesen. ### Basis-Metadatenschemas Das AMB baut hauptsächlich auf [[schema.org]] auf und nutzt eine Untermenge von Typen und Properties des schema.org-Typs [`CreativeWork`](https://schema.org/CreativeWork). Viele der hier genutzten Elemente wurden durch die Learning Resource Metadata Intitiative ([[LRMI]]) in [[schema.org]] ergänzt. Zudem verlangt das AMB die Nutzung kontrollierter Vokabulare, die [[SKOS]]-konform veröffentlicht wurden, weshalb auch einige wenige SKOS-Properties enthalten sind. ### Beziehung zu HS-OER-LOM Mit dem Allgemeinen Metadatenprofil für Bildungsressourcen veröffentlicht das Kompetenzzentrum Interoperable Metadaten (KIM) eine zweite Spezifikation zur Auszeichnung von Lehr- und Lernressourcen mit Metadaten. Mit [[HS-OER-LOM]] wurde Anfang 2020 bereits ein LOM-basiertes Metadatenprofil veröffentlicht, das auf den Hochschulbereich zugeschnitten ist. Die Profile unterscheiden sich in folgenden Hinsichten: | | HS-OER-LOM | AMB | | --- | --- | --- | | Quell-Schema | LOM | schema.org | | Format | XML | JSON-LD | | Linked-Data | nein | ja | | Bildungsbereich | Hochschule | Schule & Hochschule | Mit Blick auf den Hochschulbereich nutzen beide Profile dieselben Werte für die Ausweisung des Ressourcentyps und die Zuweisung einer Ressource zu einem Fach. Die Werte kommen aus kontrollierten Vokabularen, die ebenfalls von KIM bereitgestellt werden: die [[Hochschulfächersystematik]] und das Ressourcentypen-Vokabular [[HCRT]]. Damit wird Interoperabilität der Metadatenprofile in Bezug auf den Hochschulbereich hergestellt.
## Format und Bereitstellung Die Metadaten einer Ressource werden durch ein JSON-Dokument repräsentiert. Dieses JSON-Dokument MUSS einige obligatorische und KANN zusätzlich optionale Schlüssel/Werte-Paare des Profils beinhalten. Die Form des JSON-Dokuments MUSS den Vorgaben dieser Spezifikation und des enthaltenen JSON Schemas entsprechen. Das JSON-Dokument zur Beschreibung einer Ressource muss entweder in die Bildungsressource selbst bzw. – bei Nicht-HTML-basierten Lernressourcen – in die HTML-Beschreibungsseite eingebettet werden oder als eigenständige Webressource – d.h. unter einer dedizierten URL abrufbar sein. Das JSON-Dokument MUSS auch als [[JSON-LD11]] interpretierbar sein. Die [[JSON-LD11]]-konforme Bereitstellung wird erreicht mittels der Verlinkung eines [JSON-LD-Kontext-Dokuments](https://www.w3.org/TR/json-ld/#the-context), siehe die @context-Property. ### In eine HTML-Seite eingebettete Metadaten Wenn die Metadaten in die Lernressource oder ihre Beschreibungsseite eingebettet werden, MUSS das JSON-Dokument in einem `script`-Element im `head`-Bereich der Webseite eingefügt werden: ``` ``` ### Metadaten als eigenständige Webressource Werden die Metadaten als Webressource unter einer eigenständigen URL angeboten, MUSS der `Content-Type` Header auf `application/ld+json` gesetzt werden: ``` Content-Type: application/ld+json ``` Der Metadatensatz MUSS auf eine der folgenden Arten in die Bildungsressource bzw. ihre Beschreibungsseite eingebunden werden: 1. Ein `link`-Element , das das JSON-Dokument referenziert, MUSS in den `head`-Bereich der Webseite eingebettet werden: ``` ``` ODER 2. Ein `Link` Header, der das JSON-Dokument referenziert, MUSS gemeinsam mit der Webseite ausgeliefert werden:
## Profil Als Basis-Metadatenschema für die Beschreibung einer Educational Resource dient [[!schema.org]]. Ergänzt wird schema.org durch [[!SKOS]] (Simple Knowledge Organization System) für die Beschreibung referenzierter Werte eines kontrollierten Vokabulars. Im Folgenden wird die Struktur eines OER-Metadatensatzes beschrieben. Nebst einer Kurzbeschreibung wird angegeben, ob der Wert eine Pflichtangabe ist und um welchen Typ es sich handelt. Wenn erforderlich wird der Wertebereich festgelegt und es werden kurze Beispiele gegeben.
### @context Die `@context`-Property MUSS einen Array mit einem URI-String zur Referenzierung des [JSON-LD-Kontext](https://www.w3.org/TR/json-ld/#the-context) des Profils enthalten: `https://w3id.org/kim/amb/draft/context.jsonld`. Durch diese Ergänzung wird das JSON-Dokument auch als Linked Data ([[JSON-LD11]]) interpretierbar. Außerdem MUSS ein JSON-Objekt enthalten sein mit dem JSON-LD-Keyword `@language` und einem [[?BCP47]] Sprachcode als Wert, Angabe der im JSON-Dokument genutzten Sprache. Damit die strukturierten Metadaten auch durch Suchmaschinen wie Google und Bing erkannt und verarbeitet werden können, KANN zusätzlich der Wert `https://schema.org` im Array angegeben werden. Für ein deutschsprachiges Metadatendokument sieht es z.B. wie folgt aus: ```json { "@context":[ "https://w3id.org/kim/amb/draft/context.jsonld", "https://schema.org", { "@language":"de" } ] } ```
Pflichtfeld
ja
Typ
`array[string/object]`
Elemente
`https://w3id.org/kim/amb/draft/context.jsonld`
`object`
Validierung
JSON Schema
### id Der URI, durch den die Ressource identifiziert wird. Der URI KANN direkt zur Ressource auflösen oder zu einer Landing Page, auf der die Ressource beschrieben und verlinkt ist.
Pflichtfeld
ja
Typ
`string` (URI)
Validierung
JSON Schema
### type Art der Ressource. MUSS den Wert `LearningResource` enthalten. KANN weitere Werte aus den Unterklassen von `https://schema.org/CreativeWork` enthalten.
Pflichtfeld
ja
Typ
`array[string]`
Elemente
`LearningResource` und Unterklassen von CreativeWork
Validierung
JSON Schema
### name Titel der Ressource.
Pflichtfeld
ja
Typ
`string`
Validierung
JSON Schema
### creator Urheber:innen der Ressource. MUSS ein oder mehrere JSON-Objekte enthalten, die wiederum `type` und `name` Properties aufweisen MÜSSEN und `id` – mit einer URI-Referenz zu [[?ORCID]], [[?GND]], [[?Wikidata]] oder [[?ROR]] – aufweisen SOLLEN sowie – bei Personen – eine affiliation-Angabe enthalten KANN. Der Name (`name`) SOLL als vollständiger Name ohne akademischen Titeln angegeben werden, bei Namen aus dem deutschen Sprachraum z.B. in der Form "Vorname Nachname". Der akademische Grad KANN separat als `honorificPrefix` angegeben werden.
Pflichtfeld
nein
Typ
`array[object]`
Elemente
JSON-Objekt mit Properties `type` und `name`
Validierung
JSON Schema
### contributor Sonstige Beitragende zu der Ressource. MUSS ein oder mehrere JSON-Objekte enthalten, die wiederum `type` und `name` Properties aufweisen MÜSSEN und `id` – mit einer URI-Referenz zu [[?ORCID]], [[?GND]], [[?Wikidata]] oder [[?ROR]] – aufweisen SOLLEN sowie – bei Personen – eine affiliation-Angabe enthalten KANN. Der Name (`name`) SOLL als vollständiger Name ohne akademischen Titeln angegeben werden, bei Namen aus dem deutschen Sprachraum z.B. in der Form "Vorname Nachname". Der akademische Grad KANN separat als `honorificPrefix` angegeben werden.
Pflichtfeld
nein
Typ
`array[object]`
Elemente
JSON-Objekt mit Properties `type` und `name`
Validierung
JSON Schema
### affiliation Die Affiliierung einer beitragenden Person im Kontext der Erstellung der Lernressource. MUSS ein JSON-Objekt enthalten, das wiederum `type` und `name` Properties aufweisen MUSS und `id` – mit einer URI-Referenz zu [[?GND]], [[?Wikidata]] oder [[?ROR]] – aufweisen SOLL.
Pflichtfeld
nein
Typ
`object`
Validierung
JSON Schema
### description Beschreibung der Ressource.
Pflichtfeld
nein
Typ
`string`
Validierung
JSON Schema
### about Fach/Thema der Inhalte. MUSS ein oder mehrere JSON-Objekte enthalten, die eine Property `id` mit einem URI aus der [[Hochschulfächersystematik]] ODER aus der [[Schulfächerliste]] der DINI-AG-KIM enthalten MÜSSEN.
Pflichtfeld
nein
Typ
`array[object]`
Elemente
Werte aus [[Hochschulfächersystematik]] oder [[Schulfächerliste]] der DINI-AG-KIM
Validierung
JSON Schema
### keywords Schlagworte zur Beschreibung des Inhalts der Ressource.
Pflichtfeld
nein
Typ
`array[string]`
Validierung
JSON Schema
### isAccessibleForFree Angabe, ob der Zugang zu einer Ressource kostenpflichtig ist oder nicht. MUSS Booleschen Wert (`true`/`false`) enthalten.
Pflichtfeld
nein
Typ
`boolean`
Validierung
JSON Schema
### license Lizenz der Ressource. MUSS ein JSON-Objekt enthalten, das eine Property `id` mit einem URI als Wert enthält, der auf eine Creative Commons-Lizenz, GNU, Apache, MIT oder BSD verlinkt. Für die URI-Werteliste siehe [hier](https://w3id.org/kim/amb/draft/schemas/license.json).
Pflichtfeld
nein
Typ
`object`
Validierung
JSON Schema
### conditionsOfAccess Klärung, ob für den Zugang zu Ressource eine Registrierung und Login erfordert ist. MUSS ein JSON-Objekt enthalten, das eine Property `id` mit der URI eines Konzepts aus dem [Zugangsbedingungen-Vokabular](https://w3id.org/kim/conditionsOfAccess/) als Wert enthalten muss.
Pflichtfeld
nein
Typ
JSON-Object mit `id`-Wert aus Zugangsbedingungen-Vokabular
Validierung
JSON Schema
### image Thumbnail der Ressource.
Pflichtfeld
nein
Typ
`string` (URI)
Validierung
JSON Schema
### trailer Ein Trailer/Video-Teaser zu einer Ressource.
Pflichtfeld
nein
Typ
`array` (Objekt)
Elemente
JSON-Objekt, das "type": "VideoObject" sowie die Property contentUrl oder embedUrl enthalten MUSS und folgende weitere Properties enthalten KANN: contentSize (in bytes ohne Maßangabe) , embedUrl, sha256, bitrate (in kb/s ohne Maßangabe) sowie encodingFormat, das bei Verwendung Werte aus [[IANA-MEDIA-TYPES]] enthalten MUSS.
Validierung
JSON Schema
### dateCreated Erstellungsdatum der Ressource. MUSS ein String der Form `CCYY-MM-DD` für Datumsangaben oder ein String der Form `CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]` für Zeitangaben sein.
Pflichtfeld
nein
Typ
`string` der Form `CCYY-MM-DD` (siehe [[!ISO8601]])
`string` der Form `CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]` (siehe [[!ISO8601]], Kapitel 5.4)
Validierung
JSON Schema
### datePublished Publikationssdatum der Ressource. MUSS ein String der Form `CCYY-MM-DD` für Datumsangaben oder ein String der Form `CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]` für Zeitangaben sein.
Pflichtfeld
nein
Typ
`string` der Form `CCYY-MM-DD` (siehe [[!ISO8601]])
`string` der Form `CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]` (siehe [[!ISO8601]], Kapitel 5.4)
Validierung
JSON Schema
### duration Dauer der Wiedergabe einer Audio/Video-Ressource.
Pflichtfeld
nein
Typ
`string` der Form `PnYnMnDTnHnMnS` gemäß [[!ISO8601]] "Duration"-Format.
Validierung
JSON Schema
### inLanguage Sprache(n) der Ressource. MUSS den Sprachcodes gemäß [[!BCP47]] entsprechen.
Pflichtfeld
nein
Typ
`array[string]`
Elemente
[[!BCP47]]
Validierung
JSON Schema
### learningResourceType Art des Lernmittels. MUSS ein oder mehrere JSON-Objekte enthalten, die eine Property `id` mit einem URI aus [[HCRT]] ODER [[OEHRT]] als URI enthalten MÜSSEN.
Pflichtfeld
ja
Typ
`array[object]`
Elemente
JSON-Object mit `id`-Wert aus [[HCRT]] oder [[OEHRT]]
Validierung
JSON Schema
### publisher Die Organisation oder Person, die für die Veöffentlichung der Ressource verantwortlich ist. MUSS ein oder mehrere JSON-Objekte enthalten, die mindestens `type` mit value `Organization` oder `Person` und `name` Properties aufweisen.
Pflichtfeld
ja
Typ
`array[object]`
Elemente
JSON-Objekt mit Properties `type` und `name`
Validierung
JSON Schema
### audience Zielgruppe(n) des Angebotes. MUSS einer *Educational Audience Role* von [[!LRMI]] entsprechen.
Pflichtfeld
nein
Typ
`array[string (URI)]`
Elemente
LRMI Educational Audience Roles
Validierung
JSON Schema
### encoding Möglichkeiten zum Download der Ressource.
Pflichtfeld
nein
Typ
`array[object]`
Elemente
JSON-Objekt, das `"type": "MediaObject"` sowie die Property `contentUrl` oder `embedUrl` enthalten MUSS und folgende weitere Properties enthalten KANN: `contentSize` (in bytes ohne Maßangabe) , `embedUrl`, `sha256`, `bitrate` (in kb/s ohne Maßangabe) sowie `encodingFormat`, das bei Verwendung Werte aus [[IANA-MEDIA-TYPES]] enthalten MUSS.
Validierung
JSON Schema
### caption Untertiteldatei (bei AV-Ressourcen).
Pflichtfeld
nein
Typ
`array[object]`
Elemente
JSON-Objekt, das `"type":"MediaObject"` und im Feld `"id"` die URL zur Untertiteldatei enthalten MUSS und folgende weitere Properties enthalten KANN: `encodingFormat` mit einem Wert aus [[IANA-MEDIA-TYPES]], `inLanguage` mit Angabe genau eines Sprachcodes gemäß [[BCP47]].
Validierung
JSON Schema
### isBasedOn Verweis auf andere Ressource, von der die beschriebene Ressource ein Derivat ist.
Pflichtfeld
nein
Typ
`array[object]`
Validierung
JSON Schema
### isPartOf Verweis auf andere Ressource(n), von der/denen die beschriebene Ressource ein Teil ist. MUSS ein oder mehrere JSON-Objekte enthalten, die `id` Property aufweisen MÜSSEN und weitere Properties enthalten KÖNNEN.
Pflichtfeld
nein
Typ
`array[object]`
Elemente
JSON-Objekt mit Property `id`
Validierung
JSON Schema
### hasPart Verweis auf andere Ressource(n), die von der die beschriebene Ressource ein Teil ist/sind. MUSS ein oder mehrere JSON-Objekte enthalten, die `id` Property aufweisen MÜSSEN und weitere Properties enthalten KÖNNEN.
Pflichtfeld
nein
Typ
`array[object]`
Elemente
JSON-Objekt mit Property `id`
Validierung
JSON Schema
### mainEntityOfPage In diesem Feld können die Struktur-Metadaten ausgeführt werden, welche den eingebetten Strukturkontext der bereitgestellten Metadaten erfassen: - `id` zur Angabe der Landing-Page der Metadaten - `provider` zur Angabe des Metadaten-Providers mit einem dazugehörigen Objekt, das `id`,`type` und `name` des Providers angibt - `dateCreated` zur Angabe des Erstellungsdatums der Metadaten - `dateModified` zur Angabe des Änderungsdatums der Metadaten (mit einem String der Form `CCYY-MM-DD` oder `CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]` als Wert)
Pflichtfeld
nein
Typ
`array[object]`
Validierung
JSON Schema
### teaches Verweis auf Kompetenz(en), die mit Hilfe der beschriebenen Ressource erreicht werden können: - `id` zur Angabe eines Identifikators der Kompetenz mit einem URI als Wert - `prefLabel` zur Angabe einer Bezeichnung für die Kompetenz
Pflichtfeld
nein
Typ
`array[object]`
Validierung
JSON Schema
### assesses Verweis auf Kompetenz(en), die mit Hilfe der beschriebenen Ressource festgestellt werden können: - `id` zur Angabe eines Identifikators der Kompetenz mit einem URI als Wert - `prefLabel` zur Angabe einer Bezeichnung für die Kompetenz
Pflichtfeld
nein
Typ
`array[object]`
Validierung
JSON Schema
### competencyRequired Verweis auf Kenntnisse, Fähigkeiten oder persönliche Eigenschaften, die nachgewiesen werden müssen, um die Lernressource zu verstehen und bearbeiten zu können: - `id` zur Angabe eines Identifikators der Kenntnis, Fähigkeit oder Eigenschaft mit einem URI als Wert - `prefLabel` zur Angabe einer Bezeichnung für die Kenntnis, Fähigkeit oder Eigenschaft
Pflichtfeld
nein
Typ
`array[object]`
Validierung
JSON Schema
### educationalLevel Verweis auf eine Stufe im Bildungssystem als Lehr-/Lernkontext, für den eine Ressource ausgewiesen ist. MUSS ein oder mehrere JSON-Objekte enthalten, die eine Property `id` aufweisen MÜSSEN, die Property `prefLabel` aufweisen SOLLEN und weitere Properties aufweisen KÖNNEN. Die Property `id` MUSS einem URI aus den [[Bildungsstufen]] entsprechen. - `id` zur Angabe eines Identifikators der Stufe - `prefLabel` zur Angabe einer Bezeichnung für die Stufe
Pflichtfeld
nein
Typ
`array[object]`
Elemente
JSON-Object mit `id`-Wert aus [[Bildungsstufen]] der DINI-AG-KIM.
Validierung
JSON Schema
## Validierung Als Kernbestandteil dieser Spezifikation wurde ein [[?JSON Schema]] entwickelt. Es ermöglicht, die eigenen Daten gegen das Profil zu validieren. Das Hauptschema verweist dabei auf Unterschemas für die einzelnen Properties. Diese Unterschemas sind im Abschnitt [Profil](#profile) bei der jeweiligen Property verlinkt.

JSON Schema


Link zum Schema

Beispiele

Beispiele aus dem Bereich Hochschule




Beispiele aus dem Bereich Schule


## Glossar
API
Application Programming Interface
BMBF
Bundesministerium für Bildung und Forschung
DC
Dublin Core
DOI
Digital Object Identifier
DRI
Digital Repositories Interoperability
GUID
Globally Unique Identifier
HTTP
Hypertext Transfer Protocol
JSON
JavaScript Object Notation
JSON-LD
JavaScript Object Notation for Linked Data
LOM
Learning Object Metadata
LOR
Learning Object Repository
OAI-PMH
Open Archives Initiative – Protocol for Metadata Harvesting
OER
Open Educational Resource
URI
Uniform Resource Identifier
URL
Uniform Resource Locator
W3C
World Wide Web Consortium