Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I hope this is the correct site, I lose my way between the 4 sister sites :)

Let me ask the question this way. all file systems I have seen before are hierarchical, that means a root directory, with some branched directories, and so on until we have files residing in these directories. except for AS/400 file structure, where it has a concept of a Library that serve somehow as a directory but one level only.

Why not have directory-less filesystems where files are placed in a single location, but the file identifiers would be referenced by a database of tag/ file relation ships.

This way there will be no need for symbolic links, one file may have multiple relations to multiple subjects, not only a single parent directory to contain.

I hope the idea is clear.

share|improve this question

Windows Vista was originally hyped to have WinFS, that is based on a relational model of data and internally uses a relational database.

Pure tagging capability of files would surely be too small of a feature for effective use but rich meta properties of the data instead allows more meaningful relations to be used and autogenerated between files.

To have effective automatic generation of the relations, the OS must have clear knowledge of the file contents, metadata and/or semantics. Thus, database filesystems have the advantage of getting rid of programs' own (often proprietary) file formats by requiring the data to conform a standard schema. (Although WinFS in partucular supports also storage of semi-structured files or files with no structure.)

In general, the idea of such a system you are describing seems fantastic but the implementation might not be as easy as it first sounds. As the internals of relational - or database - filesystems, they are most likely to have some sort of hierarchy as well, like trees, that all RDBMS's have.

As a disclaimer, there is no public release of WinFS, yet. For Linux, you can try Relational Filesystem, a program that operates on a hierarchial filesystem but presents the date through a relational filesystem interface.

share|improve this answer

I have spent a few years working on my hobby project, TMSU that does exactly this. You tag your files using a command-line tool and then it is possible to mount a virtual filesystem which presents your tagged files with directories for each tag. You can also run queries (e.g. 'fish and chips and not (peas or gravy)').

The tool does not change the original location of your files so you could, if you want, consolidate your files into a single place and then access them purely via the virtual filesystem.

I appreciate you're probably looking for something that does this at a more fundamental level, e.g. an operating system with the functionality, but I think TMSU provides a good solution without the difficulty of trying to introduce a whole new operating system that is incompatible with the wealth of open-source software that is available to Linux, BSD, &c.

Alternatively, without the use of TMSU or other such tool, it is already possible to have a file in multiple directories using hard links, so you could have a simple file tagging solution using just the filesystem. This provides some of the advantages of tagging but you will not be able to easily work out which files have multiple tags and you will obviously not be able to do complex queries.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .