Contexto
Estou escrevendo algumas questões práticas de múltipla escolha e gostaria de armazená-las em um formato de dados de texto simples. Eu já usei delimitado por tabulação, mas isso torna a edição em um editor de texto um pouco estranha. Eu gostaria de usar um formato parecido com o bibtex.
Por exemplo,
@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",
}
Propriedades importantes parecem ser:
- Os dados são compostos de registros
- Cada registro possui vários pares de atributo-valor
- Cada par atributo-valor pode ser gravado em uma nova linha, mas pode abranger várias linhas
- Fácil de inserir manualmente dados de texto em um editor de texto
- Ferramentas prontamente disponíveis para converter em dados tabulares
Por exemplo, aqui está algo parecido com o que pode funcionar
@
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
Embora eu esteja interessado no contexto específico de escrever perguntas de múltipla escolha, também estou interessado na questão mais ampla de representar dados neste ou em um tipo semelhante de formato.
Pensamentos iniciais
Meus pensamentos iniciais incluíram o seguinte:
- YAML
- JSON
- Dados delimitados com delimitadores de campo e registro personalizados que permitem registros de várias linhas
- Um formato de arquivo personalizado com alguma forma de analisador personalizado
Eu só dei uma olhada rápida no YAML e JSON; Minhas primeiras impressões são de que elas podem ser exageradas. A delimitação personalizada pode ser boa, mas provavelmente exigiria que todos os campos estivessem presentes em uma ordem consistente para todos os registros. Escrever meu próprio analisador parece um pouco complicado.