| Years ago, I had a similar idea, but never did anything with it. Look at DNs in LDAP (and X.400/X.500), they are based on attribute=value pairs. What about a filesystem in which filenames were collections of attribute=value pairs? e.g. /home/geokon/program1/src/foo.c could become:
user=geokon/program=program1/category=src/lang=c/name=foo You could potentially decide that the order of the attributes is not significant, only the set of attribute-value pairs. Downside: Too much typing. Although, maybe you could allow standard aliases for attribute names, so that: user=geokon/program=program1/category=src/lang=c/name=foo could also be written as: u=geokon/p=program1/c=src/l=c/n=foo (I think the attributes should be first-class filesystem objects, just like files are, as opposed to just text strings. Some of the values, e.g. an enumerated value like lang=c, should be first-class objects as well.) I also took some inspiration (in concept not syntax) from https://en.wikipedia.org/wiki/Faceted_classification such as https://en.wikipedia.org/wiki/Colon_classification Being too different from what everyone else is doing would be the real killer, however. |