MHDBDB JSON-API
Die MHDBDB stellt ihre Referenzdaten als statische, FAIR-orientierte JSON-Dateien unter stabilen URLs bereit, generiert aus den vorgebauten MHDBDB-Indexen und gehostet auf GitHub Pages. Es gibt keinen Server und keine serverseitige Suche: Sie laden Dateien per HTTP (CORS ist offen) und filtern clientseitig.
URL-Schema
Basis-URL: https://dhcraft.org/mhdbdb-tei-only/api/
| Pfad | Inhalt |
|---|---|
index.json |
Root-Manifest: alle Collections mit Counts sowie die Versionen der Quell-Indexe unter sources. |
lemmata/index.json |
Alle Lemmata als ein Bundle (~13 MB) mit vollen Records inklusive senses/conceptIds und etymology. Keine Einzeldateien; filtern Sie clientseitig nach id. |
persons/index.jsonpersons/{id}.json |
Personen. Beispiel-ID: person_1768. |
works/index.jsonworks/{id}.json |
Werke. Beispiel-ID: work_350. |
concepts/index.jsonconcepts/{id}.json |
Begriffe der semantischen Taxonomie. Beispiel-ID: concept_10000000. |
genres/index.jsongenres/{id}.json |
Gattungen. |
names/index.jsonnames/{id}.json |
Eigennamen. |
texts/index.jsontexts/{id}.json |
Korpustexte; die ID ist die Sigle, z. B. ABG. Metadaten ohne Wortpositionen. |
Die genaue Anzahl der Einträge je Collection steht im Root-Manifest index.json unter collections (Feld count je Collection).
Beispiele
JavaScript (fetch):
const res = await fetch("https://dhcraft.org/mhdbdb-tei-only/api/persons/person_1768.json");
const person = await res.json();
console.log(person.preferredName); // "Karl IV."
curl:
curl -s https://dhcraft.org/mhdbdb-tei-only/api/texts/ABG.json
Schema in Kürze
- Jede Datei trägt ein Feld
"license". - Collection-Indexe (
{collection}/index.json) haben die Form{"license", "items": [...]}. - Die Kurzlisten-Einträge in
itemsenthalten je Collection:- persons:
id,preferredName - works:
id,title,sigle - concepts, genres, names:
id,termDE,termEN - texts:
id,title,author,wordCount(Wortformen mit Lemma-Zuordnung, nicht die Gesamtlänge des Texts: korpusweit trägt rund ein Fünftel der Wortformen keine Zuordnung, je Text zwischen 0 % und 42 %)
- persons:
- Einzeldateien (
{collection}/{id}.json) enthalten die vollen Records; Works z. B. inklusivegnd,wikidataundhandschriftencensus. - Zuschreibungen (seit Authority-Index 1.9.22): Works tragen
attributions, alle Autorenangaben in Dokumentreihenfolge mitref,nameund, wo gesetzt,status(disputedumstritten,uncertainunsicher zugeschrieben,rejectedverworfen),role(adapter, Bearbeiter) undnote(Beleg).authorundauthorRefbleiben der erste Autor, der weder Bearbeiter noch verworfen ist. Persons führen inworksdie Werke, in denen sie als Autor*in zählen, dazu nur wo vorhandenformerWorks(verworfene Zuschreibungen) undadaptedWorks(als Bearbeiter*in); alle drei sind Arrays. - Wortarten der Lemmata (seit Authority-Index 1.9.24):
posAllnennt alle im Lexikon geführten Wortarten, nach Häufigkeit im Korpus sortiert; bei Gleichstand und für Lemmata ohne Korpusbeleg gilt die Reihenfolge des Lexikons.posist der erste Eintrag vonposAll, also die im Korpus häufigste Wortart des Lemmas. Gezählt wird, wie viele Wortformen die Wortart tragen; zusammengesetzte Angaben wieNOM ADJzählen für jeden ihrer Teile. Wer alle Wortarten eines Lemmas braucht, nimmtposAll. Vor 1.9.24 warposdie erste Angabe im Lexikon, unabhängig vom Korpus.
Referenz-Konvention
Referenzfelder behalten die rohe Syntax der Quell-Indexe bei; gemischte Präfixe kommen
vor. Beispiele: in Works ist authorRef = "persons.xml#person_786", in Texts
authorRef = "#person_445" und workRef = "works.xml#work_89".
#.
Einzige Ausnahme: persons.works ist bereits ein normalisiertes
JSON-Array von Work-IDs.
Aktualität
Die Dateien werden bei jeder Datenänderung regeneriert (CI-geprüft). Welche Versionen
der Quell-Indexe einem Stand zugrunde liegen, steht im Root-Manifest
index.json unter "sources".
Lizenz und Zitation
Alle Daten stehen unter CC BY-NC-SA 4.0. Wenn Sie die Daten in einer Publikation verwenden, zitieren Sie bitte die MHDBDB über den Zenodo-Concept-DOI 10.5281/zenodo.20627656 (zeigt immer auf die neueste Version). Rückfragen: mhdbdb@plus.ac.at.