Kontext
Ich schreibe ein paar Multiple-Choice-Übungsfragen und möchte sie in einem einfachen Nur-Text-Datenformat speichern. Ich habe zuvor tabulatorgetrennte verwendet, aber das macht das Bearbeiten in einem Texteditor etwas umständlich. Ich würde gerne ein Format wie bibtex verwenden.
Z.B,
@Article{journals/aim/Sloman99,
title = "Review of Affective Computing",
author = "Aaron Sloman",
journal = "AI Magazine",
year = "1999",
number = "1",
volume = "20",
url = "http://dblp.uni-trier.de/db/journals/aim/aim20.html#Sloman99",
pages = "127--133",
}
Wichtige Eigenschaften scheinen zu sein:
- Daten bestehen aus Datensätzen
- Jeder Datensatz hat mehrere Attribut-Wert-Paare
- Jedes Attribut-Wert-Paar kann in einer neuen Zeile aufgezeichnet werden, kann jedoch mehrere Zeilen umfassen
- Einfache manuelle Eingabe von Textdaten in einen Texteditor
- Sofort verfügbare Tools zum Konvertieren in tabellarische Daten
Zum Beispiel ist hier etwas wie das, was funktionieren könnte
@
id: 1
question: 1 + 1
a: 1
b: 2
c: 3
d: 4
correct: b
@
id: 2
question: What is the capital city of the country renowned for koalas,
emus, and kangaroos?
a: Canberra
b: Melbourne
c: Sydney
d: Australia
correct: a
Während ich mich für den spezifischen Kontext des Schreibens von Multiple-Choice-Fragen interessiere, interessiert mich auch das umfassendere Problem der Darstellung von Daten in diesem oder einem ähnlichen Format.
Erste Gedanken
Meine ersten Gedanken umfassten Folgendes:
- YAML
- JSON
- Begrenzte Daten mit benutzerdefinierten Feld- und Datensatztrennzeichen, die mehrzeilige Datensätze ermöglichen
- Ein benutzerdefiniertes Dateiformat mit einer Art benutzerdefiniertem Parser
Ich habe mir YAML und JSON nur kurz angesehen. Mein erster Eindruck ist, dass sie möglicherweise zu viel töten. Benutzerdefinierte Abgrenzung mag gut sein, aber es würde wahrscheinlich erfordern, dass alle Felder in einer einheitlichen Reihenfolge für alle Datensätze vorhanden sind. Das Schreiben meines eigenen Parsers klingt etwas fummelig.