Tagsistant is a semantic file system for Linux and BSD kernels. It uses directories as tags. Tagging a file is done by putting the file inside a directory, or symlinking inside it.
To retrieve files, you can perform logical queries using the path you are currently in. For example, to find all your files of rock and grunge music, you'll ask tagsistant:
Tagsistant is able to make decisions using criteria you provided it. That's known as ontology based reasoning. Ontologies are quite simple: only two relations are available so far: is included and is equivalent.