The notion of semantic file system was proposed in 1991 by researchers of the MIT and École des Mines de Paris.1 They proposed an integrated system whose main query interface looked like a traditional file system interface via a virtual directory system that interpreted a path as a conjunctive query. Their implementation had automatic extraction of the relevant metadata via what they called file type specific transducers.
Starting in around 2004, a new wave of implementations centered on manual tagging of files and folders.
In 2008, researchers proposed to integrate semantic file systems with Semantic Web technologies.2
Tags can be used instead of folders to circumvent the limits of a hierarchical model.
Gifford et al.3 suggested the idea of file type-specific metadata automatically extracted by a file-type specific transducer.
For instance, for a source code text file, metadata could include the names of the procedures that the program exports or imports, procedure types, and the files included by the program. For a document, its date, author, title and structure (sections and subsections). For an e-mail, its sender, recipient and subject.
In scientific workflows, provenance of a data file is important. A scientist might want to select a results file by filtering by the input dataset.
Vasudevan and Pazandak4 introduce the distinction between integrated and augmented approaches:
They suggest Open systems architecture as being well adapted to semantic file system implementations.
Even integrated semantic file systems may choose to expose an interface for compatibility with existing local or distributed file system protocols. For instance, Gifford et al.’s 1991 implementation was fully compatible with NFS.5
Extended file attributes provided by the file system can be a way to store the metadata.
A relational database is another very frequent way to store the metadata.
Research & Specifications
Gifford, David; Jouvelot, Pierre; Sheldon, Mark A.; O’Toole, James W. Jr. (1991). "Semantic file systems" (PDF). ACM Operating Systems Review. 25 (5): 16–25. doi:10.1145/121133.121138. https://web.mit.edu/6.826/www/notes/HO13.pdf ↩
Faubel, Sebastian; Kuschel, Christian (2008). "Towards Semantic File System Interfaces" (PDF). ISWC (Posters & Demos). http://ftp.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-401/iswc2008pd_submission_8.pdf ↩
Vasudevan, Venu; Pazandak, Paul (1997). "Semantic File Systems". Object Services and Consulting, Inc. Retrieved 2024-03-05. http://www.objs.com/survey/OFSExt.htm ↩
Sar, Can; Cao, Pei (2005). "Lineage File System". Stanford University. Retrieved 2024-03-14. https://crypto.stanford.edu/~cao/lineage ↩
Bloehdorn, Stephan; Völkel, Max (2006). "TagFS — Tag Semantics for Hierarchical File Systems". WWW Conference Proceedings – via CiteSeerX. https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=8389bf4a6b9ed2f67e7afc75619933d0bdcb9ad8 ↩