3.10. Metadaten#
In diesem Kapitel wird Ihnen zuerst das Metadatenschema für QUADRIGA-OERs
vorgestellt. Anschließend wird präsentiert, wie dieses in der Datei
metadata.yml konkret umgesetzt wird. Zum Abschluss werden die tatsächlichen
Metadaten dieser Anleitung präsentiert sowie die verschiedenen
Exportformate erläutert.
3.10.1. Das QUADRIGA Metadatenschema#
Das QUADRIGA Metadatenschema wurde speziell für Open Educational Resources (OERs) entwickelt, die im Rahmen des QUADRIGA-Projekts erstellt werden und umfasst spezifische Felder zur Beschreibung von Lernzielen, Kompetenzen und didaktischen Elementen. Dazu kombiniert es verschiedene Metadatenstandards wie Dublin Core Elements 1.1, Dublin Core Terms, schema.org, LRMI und MoDALIA (siehe auch DALIA). Hierzu werden Mappings unter Verwendung von skos:mappingRelation definiert.
3.10.2. Struktur und Felder der metadata.yml#
Für die Definition der Metadaten im Jupyter Book wurde YAML gewählt, da es durch OER-Autor:innen einfach geschrieben und gleichzeitig gut automatisch verarbeitet werden kann.
Die Metadaten können theoretisch auch in anderen YAML-Dateien als
eigenständiges YAML-Dokument eingebettet werden, jedoch setzen die Skripte zur
automatischen Generierung von Formaten wie CFF, BibTeX und anderen die
Speicherung der Metadaten in der Datei metadata.yml im Wurzelverzeichnis des
Jupyter Book voraus.
Eine Metadatenbeschreibung nach dem QUADRIGA Metadatenschema wird als valide
betrachtet, wenn sie mindestens alle Pflichtfelder beinhaltet und technisch
korrekt umgesetzt wurde. Das Metadatenschema ist in JSON-Schema implementiert und zu finden auf
GitHub (https://github.com/quadriga-dk/quadriga-schema)
und als HTML-Darstellung. Die
.json-Dateien der Schemadefinition (bspw. schema.json der Version
1.0.0) sind ebenfalls auf der GitHub Page publiziert und können darüber
eingebunden werden.
Im Abschnitt Felder werden alle optionalen sowie verpflichtenden Felder präsentiert. Dabei wird jeweils angegeben, ob sie verpflichtend sind sowie welche Datentypen als Wert zugelassen sind.
Struktur#
Eine minimal kleine valide Metadatenbeschreibung sieht strukturell wie folgt aus:
schema-version:
version:
title:
description:
table-of-contents:
discipline:
time-required:
research-object-type:
identifier:
url:
date-modified:
date-issued:
target-group:
authors:
- given-names:
family-names:
chapters:
- title:
description:
learning-objectives:
- learning-objective:
competency:
focus:
data-flow:
blooms-category:
learning-goal:
context-of-creation:
Eine minimale Metadatendatei als Startpunkt finden Sie ebenfalls im Repositorium zum QUADRIGA-Metadaten-Schema.
Felder#
Im Folgenden werden die wichtigsten Felder des QUADRIGA-Metadatenschemas beschrieben. Pflichtfelder sind mit ⭐ gekennzeichnet. Nutzen Sie auch die interaktive Darstellung des Schemas.
schema-version⭐#
Versionsnummer des QUADRIGA-Metadatenschemas. Es gibt ein kontrolliertes Vokabular möglicher Versionen (aktuell: “1.0.0”). Wird das QUADRIGA-Metadatenschema verändert/erweitert, so wird eine neue Version definiert. Vorherige, veröffentlichte Versionen bleiben bestehen, können jedoch ggf. als “deprecated” markiert werden.
version⭐#
Version des Buchs im SemVer-Format. Eine Versionsänderung korrespondiert auch immer mit einer Änderung von date-modified⭐.
title⭐#
Titel der OER.
description⭐#
Beschreibung der OER als Freitext.
table-of-contents⭐#
Inhaltsverzeichnis der OER als Freitext.
discipline⭐#
Nennung der Disziplinen, die bei der Erstellung der OER im Fokus standen. Mögliche Disziplinen sind in einem kontrollierten Vokabular definiert.
time-required⭐#
Angedachte Bearbeitungsdauer für Lernende im ISO 8601 Duration-Format (siehe Wikipedia-Artikel zu ISO8601).
Beispiele:
PT16H15Mfür 16 Stunden und 15 MinutenP1DT10Sfür 1 Tag und 10 Sekunden
Typischerweise werden Angaben zur Bearbeitungsdauer in Stunden und Minuten angegeben.
research-object-type⭐#
Nennung des Datentyps, der vorrangig in der OER behandelt wird. Es können ein bis zwei Typen aus einem kontrollierten Vokabular ausgewählt werden.
identifier⭐#
Eindeutiger Identifier in Form einer DOI. Die DOI identifiziert das gesamte Buch.
url⭐#
URL der Website-Ansicht des Buchs.
git#
Git-Repositorium, in dem die OER-Inhalte zu finden sind.
has-predecessor#
Link zur Vorgänger-OER oder false. Verweis auf eine Vorgänger-OER, in der
z.B. vorausgesetzte Inhalte erklärt werden.
has-successor#
Link zur Nachfolger-OER oder false. Verweis auf eine Nachfolger-OER, in der
z.B. Inhalte aus der aktuellen OER weiterentwickelt werden.
date-modified⭐#
Datum der letzten (großen, inhaltlich umfangreichen) Änderung. Sollte immer mit einer Versionsänderung (version⭐) einhergehen. Verbesserungen von Grammatik und Orthographie verlangen nicht zwingend die Erstellung einer neuen Version. Dieses Datum muss jedoch aktualisiert werden, wenn eine neue Version auf Zenodo veröffentlicht wird (bspw. über die Release-Funktion auf GitHub).
date-issued⭐#
Datum der Erstveröffentlichung.
target-group⭐#
Zielgruppe des Buchs. Es können eine oder mehrere Zielgruppen aus einem kontrollierten Vokabular ausgewählt werden.
chapters⭐#
Liste der Kapitel des Buchs. Jedes Kapitel enthält einen Titel (title⭐ (in chapters)), eine Beschreibung (description⭐ (in chapters)), eine Liste von Lernzielen (learning-objectives⭐ (in chapters)) und ein Groblernziel (learning-goal⭐ (in chapters)). Optional können auch eine URL zum direkten Zugriff auf die Kapitelseite und eine Bearbeitungsdauer angegeben werden.
learning-objectives⭐ (in chapters)#
Eine Liste von Lernzielen. Jede Lernzieldefinition umfasst eine Formulierung
des Lernziels (learning-objective), die adressierte Kompetenz
(competency⭐ (in learning-objectives)), eine Einordnung im Datenfluss
(data-flow⭐ (in learning-objectives)) und eine Kategorie aus der Bloomschen Taxonomie
(blooms-category).
learning-goal⭐ (in chapters)#
Kurze Benennung des Groblernziels des Kapitels.
context-of-creation⭐#
Eine Beschreibung des Entstehungskontextes. Im konkreten Fall ein natürlichsprachlicher Verweis auf das QUADRIGA-Projekt.
keywords#
Liste von Schlag-/Stichwörtern, welche das Buch und dessen (Lern-)Inhalte beschreiben.
language#
Sprache der OER als ISO639-1 Sprachcode (zwei Buchstaben – bspw. de, en,
…).
license#
Lizenz des Buchs und des Codes jeweils als URL oder als Kombination aus
Lizenzname und URL. Mindestens die Informationen zur Lizenz des Inhalts
(content) sind erforderlich, optional können auch Angaben zur Lizenz des
Codes (code) gemacht werden.
prerequisites#
Liste von Voraussetzungen und deren jeweiliger Einordnung in der Bloomschen Taxonomie, welche Lernende für die erfolgreiche Bearbeitung des Buchs mitbringen sollten.
quality-assurance#
Eine Liste von Qualitätssicherungs-Ereignissen. Jedes Ereignis enthält eine Person, ein Datum und optional eine Beschreibung der durchgeführten Qualitätssicherungsmaßnahme.
Dieses Feld wird aktuell noch überarbeitet!
supplemented-by#
Liste von Verweisen und jeweils einer kurzen Beschreibung zu zusätzlichen,
weiterführenden Inhalten o.ä., die in einem Kapitel verwendet werden. Jeder
Eintrag enthält eine Beschreibung (description) und eine URL (url).
type-of-learning-resource#
Beschreibung der Materialart der OER. Aktuell ist nur “Jupyter Book” als Wert vorgesehen.
used-tools#
Liste von Tools, die bei der Erstellung des Buchs verwendet wurden. Diese können als einfache URI oder als strukturierte Angabe mit Namen und URL angegeben werden.
data-flow⭐ (in learning-objectives)#
Schritt im Datenfluss, dem die Kompetenz zugeordnet ist. Muss aus einem kontrollierten Vokabular ausgewählt werden: “Grundlagen”, “Planung”, “Erhebung und Aufbereitung”, “Management”, “Analyse” sowie “Publikation und Nachnutzung”.
competency⭐ (in learning-objectives)#
Im Lernziel adressierte Kompetenz nach dem QUADRIGA Datenkompetenzframework. Muss aus einem kontrollierten Vokabular ausgewählt werden.
blooms-category⭐ (in learning-objectives)#
Kategorie der Bloomschen Taxonomie, welcher das Lernziel zugeordnet ist. Aus der Kombination der Zuordnungen der Lernziele eines Kapitels lässt sich ein allgemeines Kompetenzniveau (“Basis”, “Fortgeschritten”, “Expert:in”) ableiten. Muss aus einem kontrollierten Vokabular ausgewählt werden.
semver#
Ein Bezeichner nach dem Semantic Versioning 2.0.0 Format. Wird bei der Versionierung des Schemas und der OER verwendet. Besteht aus Major-, Minor- und Patch-Version (z.B. “1.1.0”), optional gefolgt von Pre-Release-Identifikatoren und Build-Metadaten.
multilingual-text#
Natürlichsprachlicher Text wird standardmäßig auf Deutsch verfasst. Soll dies
explizit gemacht werden und/oder sollen andere Sprachen verwendet werden, so
kann hier statt einer Zeichenkette (string) ein Mapping (object) von
ISO639-1 Sprachcodes und dem Text in der entsprechenden Sprache verwendet
werden.
person#
Eine Person kann entweder als einfache Zeichenkette oder als Mapping, das
mindestens Schlüssel für Vor- und Nachname (given-names, family-names)
enthält, modelliert werden.
Es wird empfohlen eine ORCID anzugeben. Zusätzlich können Rollen nach dem CRediT-System (Contributor Roles Taxonomy) für die Person angegeben werden.
title⭐ (in chapters)#
Kapitelüberschrift, die für dieses Kapitel verwendet wird. Kann als einfacher Text oder als mehrsprachiger Text angegeben werden.
description⭐ (in chapters)#
Beschreibung des Kapitelinhalts. Bietet eine Übersicht darüber, was in diesem Kapitel behandelt wird.
url (in chapters)#
URL zum direkten Zugriff auf die erste Seite der ‘Leseansicht’ (Website) des Kapitels.
time-required (in chapters)#
Angedachte Bearbeitungsdauer für Lernende, spezifisch für dieses Kapitel, im ISO 8601 Duration-Format.
3.10.3. metadata.yml dieser Anleitung#
1# Generated from quadriga-metadata.yml by quadriga/metadata/create_oersi_metadata.py. Do not edit manually.
2'@context': https://schema.org/
3creativeWorkStatus: Published
4type: LearningResource
5name: 'QUADRIGA-OER: erstellen und gestalten mit Jupyter Book. QUADRIGA Open Educational
6 Resources: Anleitung'
7description: Diese Anleitung führt in die Erstellung von Open Educational Resources
8 (OER) nach den Empfehlungen und Vorgaben des Datenkompetenzzentrums QUADRIGA als
9 <a href="https://jupyterbook.org">Jupyter Book</a> ein. Sie beschreibt die inhaltlichen,
10 didaktischen und technischen Anforderungen. Die Anleitung richtet sich vorrangig
11 an OER-Erstellende. Die zugehörige Vorlage für neue OER ist das separat auf GitHub
12 liegende <a href="https://github.com/quadriga-dk/Book_Template" target="_blank">Book_Template</a>;
13 aus ihm werden neue Repositorien erstellt und mit eigenen Inhalten gefüllt. Die
14 Nutzung von QUADRIGA-OERs durch Lernende beschreibt das separate <a href="https://quadriga-dk.github.io/QUADRIGA-Learners-Manual/"
15 target="_blank">Learners Manual</a>.
16license: https://creativecommons.org/licenses/by-sa/4.0/
17id: https://quadriga-dk.github.io/QUADRIGA-OER-Manual/
18creator:
19- givenName: Hannes
20 familyName: Schnaitter
21 name: Hannes Schnaitter
22 id: https://orcid.org/0000-0002-1602-6032
23 type: Person
24 affiliation:
25 name: Humboldt-Universität zu Berlin
26 id: https://ror.org/01hcx6992
27 type: Organization
28- givenName: Evgenia
29 familyName: Samoilova
30 name: Evgenia Samoilova
31 id: https://orcid.org/0000-0003-3858-901X
32 type: Person
33 affiliation:
34 name: Universität Potsdam
35 id: https://ror.org/03bnmw459
36 type: Organization
37- givenName: Lamia
38 familyName: Islam
39 name: Lamia Islam
40 type: Person
41 affiliation:
42 name: Universität Potsdam
43 id: https://ror.org/03bnmw459
44 type: Organization
45contributor:
46- givenName: Melanie
47 familyName: Seltmann
48 name: Melanie Seltmann
49 id: https://orcid.org/0000-0002-7588-4395
50 type: Person
51 affiliation:
52 name: Humboldt-Universität zu Berlin
53 id: https://ror.org/01hcx6992
54 type: Organization
55- givenName: Paul
56 familyName: Walter
57 name: Paul Walter
58 id: https://orcid.org/0000-0002-9236-3268
59 type: Person
60 affiliation:
61 name: Fachhochschule Potsdam
62 id: https://ror.org/012m9bp23
63 type: Organization
64- givenName: Yue
65 familyName: Zhang
66 name: Yue Zhang
67 id: https://orcid.org/0009-0007-6432-1259
68 type: Person
69keywords:
70- Open Educational Resources
71- Offene Bildungsressource
72- Jupyter Book
73- Data Literacy
74- Datenkompetenz
75- open-educational-resources
76inLanguage:
77- de
78about:
79- https://w3id.org/kim/hochschulfaechersystematik/n0
80educationalLevel:
81- https://w3id.org/kim/educationalLevel/level_8
82- https://w3id.org/kim/educationalLevel/level_A
83learningResourceType:
84- https://w3id.org/kim/hcrt/textbook
85duration: PT16H15M
86version: 0.1.1
87datePublished: '2026-03-11'
88dateModified: '2026-03-11'
89identifier: https://doi.org/10.5281/zenodo.18961415
3.10.4. JSON-Schema#
Das JSON-Schema ist definiert im Repositorium quadriga-schema. Auf Basis dieses Repositoriums
wird eine interaktive Darstellung sowie der
Einstieg für die Nutzung in anderen
Schemas oder in Verifikationstools (schema.json hier im Versionsalias
latest) generiert. Für die Verwendung in Werkzeugen sollte immer eine
bestimmte Version festgelegt werden – bspw.
https://quadriga-dk.github.io/quadriga-schema/v1.0.0/schema.json
3.10.5. Metadaten-Exportformate#
Die in metadata.yml erfassten Metadaten werden automatisch in verschiedene
standardisierte Formate exportiert, um die Auffindbarkeit, Nachnutzbarkeit und
Interoperabilität der OER zu gewährleisten. Die Transformation erfolgt durch
Python-Skripte im Verzeichnis quadriga/metadata/ und wird im Build-Prozess
automatisch ausgeführt.
Generierte Formate#
JSON-LD (metadata.jsonld)#
JSON-LD (JavaScript Object Notation for Linked Data) ist ein Format für strukturierte, verlinkte Daten im Web. Die exportierten Metadaten folgen dem Schema.org-Vokabular und werden als maschinenlesbare Linked Data bereitgestellt.
Im Publikationsprozess werden per GitHub Action die JSON-LD-Daten in die Startseite des Buchs sowie die Kapitel-Startseiten integriert.
RDF/XML (metadata.rdf)#
RDF (Resource Description Framework) in XML-Serialisierung ermöglicht die Verarbeitung der Metadaten durch Semantic-Web-Anwendungen und Triple Stores.
Ein <link>-Tag zu den RDF-Daten wird über die GitHub Action in die Startseite
des Buchs integriert.
BibTeX (references.bib)#
BibTeX-Format für die Referenzen, auf welche sich im Buch berufen wird.
CITATION.cff#
GitHub-Standard für Software- und Datensatz-Zitation im CITATION.cff-Format (Citation File Format).
Zenodo JSON (.zenodo.json)#
Metadaten im Zenodo-Format für die Archivierung und DOI-Vergabe über die Zenodo-Plattform. Diese Metadaten liefern die Grundlage für die Metadaten in Zenodo.
Das Format ist definiert in legacyrecord.json.
Metadaten-Verarbeitungspipeline#
Die Verarbeitung der Metadaten erfolgt in folgenden Schritten:
Quelldateien:
metadata.ymlmit QUADRIGA-Schema (siehe schema-version⭐) sowie_config.ymlund_toc.yml. Im ersten Schritt werden ggf. Informationen (bspw. Titel des Buchs, Inhaltsverzeichnis, …) inmetadata.ymlauf Basis der Jupyter Book Konfigurationsdateien aktualisiert.Generierung: Python-Skripte in
quadriga/metadata/transformieren die YAML-Daten:create_jsonld.py→metadata.jsonldcreate_rdfxml.py→metadata.rdfcreate_bibtex.py→references.bibupdate_citation_cff.py→CITATION.cffcreate_zenodo_json.py→.zenodo.json
Build: Jupyter Book erstellt die HTML-Ausgabe in
_build/html/Injektion:
inject_metadata.pybettet JSON-LD in HTML-Seiten ein und fügt RDF-Links hinzuBereitstellung: Relevante Metadatendateien werden in das Build-Verzeichnis kopiert
Die Skripte nutzen gemeinsame Hilfsfunktionen aus utils.py für
YAML-Verarbeitung, Keyword-Extraktion und Formatierung.