0.8.1 is the new release of Tagsistant, a semantic filesystem for Linux kernels. Release 0.8 is still under development and can be downloaded from the SVN trunk (more information here).
A semantic filesystem is a new kind of filesystem for personal usage that organizes contents by tags. Tagging our contents is a common practice today. We use tags on-line for photos, bookmarks and much more. Social networks let tag near everything. Our media library is full of tag (EXIF in JPEG, ID3 in mp3, ...) and html or other documents contain keywords which are basically tags.
Despite all this load of tags (metadata, keywords, call it as you prefer), the desktop is still an ancient kingdom ruled by directories. We are forced to use directory hierarchies to store our contents and often we struggle to locate our files. Many tools have been introduced to port the concept of tags to the desktop, but all of them are applications which store tags inside a proprietary or somehow closed database that forces you to use their interface to take advantage of tags. This has some consequences:
- tags must be entered and deleted using that application interface
- tags must be used from that application interface when querying for contents
- contents (files) must be modified using that application interface (does not apply to file managers only)
- no exchange with other tagging tools is permitted (two applications not necessary are able to share tags)
- tags can't be accessed by an external program or service (like a web service or an indexing tool)
Tagsistant is an effort to solve all those problems by moving the tagging logic from the application layer to the storage layer. If tags are managed by the filesystem, all the software you already use will be able to access and take advantage of tags: create tags, delete tags, tag files, retrieve files!
The first released Tagsistant version was 0.2, in 2007. Back then Tagsistant allowed the tagging of files only. Starting from release 0.6, Tagsistant started to manage any kind of object, including devices, directories and so on. Some syntactic sugar has been added to accomplish this, like the @/ directory at the end of the queries.
But release 0.8 adds a lot more. A deduplication layer reduces disk usage by deleting file duplicates preserving tagging information. An internal caching layer speeds up the execution of queries already resolved. Tags have been expanded and now support triple form, better known as machine tags. Frequently used queries can be bookmarked as aliases, saving some user time. Tags can be organized with relations to form a simple kind of ontology. And Tagsistant does even more to make the user life easier, by automatically extracting tags on its own, using its customizable autotagging plugins.