Simplified version
<host uuid + path + fs stat info> -> file hash file hash -> tag/info [multiple specified, one tag/value per entry] file hash -[is part of]-> torrent info hash, file [optional if torrent is single file] file hash -[is part of]-> tar file hash, path + [optional seeking information]
future extension: allow tags to be put on parts of a file instead of whole thing, e.g. actor only in a section of the movie uuid[v5?] -[is part of]-> file hash, time stamp range [e.g. section of video file]
Namespaces:
These are shorthand:
dc:xxx
-> Dublin Core
upnp:xxx
-> UPnP Content Directory Service
ms:xxx
-> medashare defined
Copy XML and canonical version is {url}:xxx
. There will needs to be a
fixed and versioned set of aliases that don’t need to be spelled out, and
this will be called out in the object.
Additional namespaces can be declared if they are not in a versioned set. There will be a public location to d/l the versioned set of URLs to allow old programs to handle new namespaces.
Common dc properties: date creator title format (see mime-type) description extent (file size & duration) spatial (location)
Common upnp properties: artist actor actor@role -- XXX how to represent? genre album albumArtURI seriesTitle -- title of the TV series e.g. The West Wing programCode programCode@type (matchingID from SRS, use domain_uniq, e.g. funkthat.com_generic when there isn’t anything special about the programCode, funkthat.com_generic_tv when it matches the standard TV show, such as S02E05)
Common ms properties: tag private -- will be ignored in general searches, unless explicitly added (value does not matter) rating -- 0 through 10, inclusive, usually 10 is great, 0 is bad/terrible, what this rating specifically means is left to the creator
Automatic creation/mappings of some of the terms should be applicable.
Complete list of terms are here: https://www.dublincore.org/specifications/dublin-core/dcmi-terms/
https://www.dublincore.org/resources/userguide/creating_metadata/
OWL: https://en.wikipedia.org/wiki/Web_Ontology_Language https://www.w3.org/TR/owl-ref/ https://en.wikipedia.org/wiki/Semantic_Web
How to handle revisions of files? Point them to the previous metadata? Automatically like them if list and the hash changes? prompt?
type: host hostuuid hostname
Currently only useful for UI to make it easier to map hostuuid when mapping...
URN for hashes: https://www.nuke24.net/docs/2015/HashURNs.html https://github.com/hash-uri/hash-uri https://datatracker.ietf.org/doc/html/draft-thiemann-hash-urn-01