One of my “projects” was to be able to store all my data and be able to add information to it. I gave it some crazy name, and let it sit and pickle away in my mind until it matured.
In comes .meta-json. With every file that would be stored (such as file_name.ext) , there would exist a separate file stored alongside that original file that would have the additional extension of .meta-json.
.meta-json is meant to be a common, easily indexable and searchable format that gives files a raison d’être. the format is rooted in json with specifics that helps to define the metadata of the file.
The proposed format comes down to:
{ 'author': 'unknown', 'type': 'image', 'title': '', 'description': { 'en': 'something' }, 'date': '', 'source': '', 'location': '', 'people': [''], 'checksum' { 'sha256': 'xxxx' }, 'mimetype': '', 'creation-date': '', 'filesize': '' }
This format pretty much breaks down to key/value pairs. Every key can either have a string or an array/object as a value, depending on the name of the key.
Key | Value Types | Description |
---|---|---|
author | string|array | A list of people who participated in creating this file |
type | string | A generic name for what the file is (image, video, archive, document, etc) |
title | string|object | A visible summary of what this items is. As an object, the key:value is localization:summary |
description | string|object | A full description of the item. This can be akin to “a picture is worth 1000 words”, but for any kind of media. |
date | string | A parseable date/time identifying when the item “happens”, not typically the same as the creation or modification dates, but it very well could match. |
source | string | How this item was acquired. Typically images are either via Camera or Scanner, Audio would be via Radio, Microphone, Telephone, etc. Documents could be OCR. |
location | string|object | A parseable location where the item “exists”. As a string it could be a general location such as “around the corner from Joes Diner” or an intersection. If placed as an object, this identifies specificity as it could be “gps”: “”, “address”: “”, etc |
people | array | Whom is depicted. Comes down to names or Identifiers of whom is presented in the items is called, such as “person 1”, “person 2”, or “Mick Jagger”. |
Additional fields can be defined and exist, but a majority of the data should be present in the metadata for each file to complete it.
This is the initial spec of the .meta-json format.