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.