File format ideas

Idea 1

A file format to serve as a little plaintext database.

It's inspired by the vCard and iCal formats, reimagining them as if they were intended for general data.

It comes in two parts.

Data files and definition files.

Data files, as the name suggests, are for storing data!

Looking something like this:

BEGIN:BOOK
VERSION:0.1
TITLE:How to Prove It
AUTHOR:Daniel J. Velleman
YEAR:2006
READ;UP-TO=300:YES
END:BOOK

BEGIN:BOOK
VERSION:0.1
TITLE:Book of Proof
AUTHOR:Richard Hammock
YEAR:2018
READ;UP-TO=40:YES
END:BOOK

Here we are storing some books, which have some properties and parameters like TITLE, AUTHOR, and so on.

Then there are definition files!

Definition files, as the name suggests, are for defining data, what does a book look like, what about a movie, and a workout, anything really.

It would look something like this:

DEFINE:BOOK
VERSION:0.1
TITLE:STRING
AUTHOR:STRING,
YEAR:INTENGER
READ;UP-TO=220:YES/NO
END:BOOK

Version 0.1 of a book has title, author, year, and read properties.

The read property has an optional parameter to specify up to which page did you read the book.

Definition files could be used to parse and validate/query the data files.

Data files should be good enough to be used on their own, without definition files.