Tagsistant is a tool to organize files in a semantic way, which means using tags.
It plays the role of the filesystem. This means that, when you start Tagsistant, you'll not see a program interface. Tagsistant is something that works in the background. To access your files you use the tools you're used to, like file managers and command line programs.
Under Tagsistant, directories are tags. As a consequence, creating a directory is creating a tag and putting a file inside a directory means tagging that file.
After you have tagged your files, you can search all of them by using queries. In Tagsistant, queries are just paths where each element is either a directory or an operator in AND and OR.
This is an example session:
# the ~/tags directory will be managed by tagsistant
$ tagsistant ~/tags
# create the tag work
$ mkdir ~/tags/work
# create the tag personal
$ mkdir ~/tags/personal
# tag a photo as "personal"
$ cp ~/picture_of_me.jpeg ~/tags/personal
# tag my resume as "work"
$ cp ~/resume.pdf ~/tags/work
# tag it as personal too
$ cp ~/resume.pdf ~/tags/personal
# tag flyer.pdf as "work"
$ cp ~/flyer.pdf ~/tags/work
# list all the files tagged "personal"
$ ls ~/tags/personal
# list all the files tagged "work"
$ ls ~/tags/work
# list the (only) file tagged as "personal" and "work"
$ ls ~/tags/personal/AND/work
# unmounts tagsistant (your files and tags are still saved, ready for next session)
$ fusermount -u ~/tags
As you've seen, the real benefit of using Tagsistant over usual directories is that you can ask it to look for files that match a set of criteria, like all the files marked "personal" and "work" at the same time.
But Tagsistant is more than just that. It's a reasoner, which can consider relations between tags (like "customer" is a subtag of "work"). More on that in the semantic section of the site.
Tagsistant is also capable of autotagging your files, using a stack of plugins. Each plugin can register for a specific file format.
Tagsistant is an evolving tool. Check this site regularly.