A computer does of course come with an inbuilt filing system. Individual files are stored in folders or directories, and by choosing the names of the files and folders carefully we can both classify and convey information about each file. This is satisfactory up to a point, however it is not sufficient in most circumstances. It is not easy for files to be in more than one folder, or folders to be reached through more than one path; there are shortcuts on Windows and links on Unix but they are awkward to use and can fail once items are distributed over a network. Attributes can be expressed in the name given to a file or folder, but this can lead to extremely long and cumbersome filenames with great difficulty in extracting values for individual attributes.