{"id":474,"date":"2020-01-29T13:11:15","date_gmt":"2020-01-29T18:11:15","guid":{"rendered":"https:\/\/www.unliterate.net\/?p=474"},"modified":"2020-01-29T13:12:14","modified_gmt":"2020-01-29T18:12:14","slug":"meta-json","status":"publish","type":"post","link":"https:\/\/www.unliterate.net\/index.php\/2020\/01\/29\/meta-json\/","title":{"rendered":".meta-json"},"content":{"rendered":"<p>One of my &#8220;projects&#8221; was to be able to store all my data and be able to add information to it. I gave it some <a href=\"https:\/\/www.unliterate.net\/index.php\/projects\/concept-digital-dropbox-archiver\/\" target=\"_blank\" rel=\"noopener noreferrer\">crazy name<\/a>, and let it sit and pickle away in my mind until it matured.<\/p>\n<p>In comes <span style=\"font-weight:bold;\">.meta-json<\/span>. 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.<\/p>\n<p>.meta-json is meant to be a common, easily indexable and searchable format that gives files a <span style=\"font-style: italic;\">raison d&#8217;\u00eatre<\/span>. the format is rooted in <a href=\"https:\/\/www.json.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">json<\/a> with specifics that helps to define the metadata of the file.<\/p>\n<p>The proposed format comes down to:<\/p>\n<pre>{\n   'author': 'unknown',\n   'type': 'image',\n   'title': '',\n   'description': {\n      'en': 'something'\n   },\n   'date': '',\n   'source': '',\n   'location': '',\n   'people': [''],\n   'checksum' {\n      'sha256': 'xxxx'\n   },\n   'mimetype': '',\n   'creation-date': '',\n   'filesize': ''\n}<\/pre>\n<p>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.<\/p>\n<table  class=\" table table-hover\" >\n<tbody>\n<tr>\n<th>Key<\/th>\n<th>Value Types<\/th>\n<th>Description<\/th>\n<\/tr>\n<tr>\n<td>author<\/td>\n<td>string|array<\/td>\n<td>A list of people who participated in creating this file<\/td>\n<\/tr>\n<tr>\n<td>type<\/td>\n<td>string<\/td>\n<td>A generic name for what the file is (image, video, archive, document, etc)<\/td>\n<\/tr>\n<tr>\n<td>title<\/td>\n<td>string|object<\/td>\n<td>A visible summary of what this items is.<br \/>\nAs an object, the key:value is localization:summary<\/td>\n<\/tr>\n<tr>\n<td>description<\/td>\n<td>string|object<\/td>\n<td>A full description of the item. This can be akin to &#8220;a picture is worth 1000 words&#8221;, but for any kind of media.<\/td>\n<\/tr>\n<tr>\n<td>date<\/td>\n<td>string<\/td>\n<td>A parseable date\/time identifying when the item &#8220;happens&#8221;, not typically the same as the creation or modification dates, but it very well could match.<\/td>\n<\/tr>\n<tr>\n<td>source<\/td>\n<td>string<\/td>\n<td>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.<\/td>\n<\/tr>\n<tr>\n<td>location<\/td>\n<td>string|object<\/td>\n<td>A parseable location where the item &#8220;exists&#8221;. As a string it could be a general location such as &#8220;around the corner from Joes Diner&#8221; or an intersection. If placed as an object, this identifies specificity as it could be &#8220;gps&#8221;: &#8220;&#8221;, &#8220;address&#8221;: &#8220;&#8221;, etc<\/td>\n<\/tr>\n<tr>\n<td>people<\/td>\n<td>array<\/td>\n<td>Whom is depicted. Comes down to names or Identifiers of whom is presented in the items is called, such as &#8220;person 1&#8221;, &#8220;person 2&#8221;, or &#8220;Mick Jagger&#8221;.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>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.<\/p>\n<p>This is the initial spec of the .meta-json format.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of my &#8220;projects&#8221; 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 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-474","post","type-post","status-publish","format-standard","hentry","category-geek-instructions"],"_links":{"self":[{"href":"https:\/\/www.unliterate.net\/index.php\/wp-json\/wp\/v2\/posts\/474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unliterate.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unliterate.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unliterate.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unliterate.net\/index.php\/wp-json\/wp\/v2\/comments?post=474"}],"version-history":[{"count":8,"href":"https:\/\/www.unliterate.net\/index.php\/wp-json\/wp\/v2\/posts\/474\/revisions"}],"predecessor-version":[{"id":482,"href":"https:\/\/www.unliterate.net\/index.php\/wp-json\/wp\/v2\/posts\/474\/revisions\/482"}],"wp:attachment":[{"href":"https:\/\/www.unliterate.net\/index.php\/wp-json\/wp\/v2\/media?parent=474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unliterate.net\/index.php\/wp-json\/wp\/v2\/categories?post=474"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unliterate.net\/index.php\/wp-json\/wp\/v2\/tags?post=474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}