Foreword
About a year ago, I decided to start implementing a semantic file system. For reasons of a non-technical nature, development was stopped. Currently looking for potentially interested individuals.
Disadvantages of tree file systems
Which folder to put the downloaded movie: in drama, favorites, eng movies? How to quickly find the documents that I reviewed yesterday? How to make a list of files by any criteria? How to automatically sort a pile of files?
I am sure everyone faces similar problems.
')
A tree-based file system is convenient for the operating system, but not always user-friendly. The reason lies in the very essence - each folder or file can have only one parent, the connections between them are quite rigid. Of course, there is a link mechanism, but it is not practical enough for a simple user.
Concept
My main idea is that the folders, files and links between them should be as light as possible.
Basic principles:
- Using a graph, not a tree. The tree is a special case of the graph, so the latter provides more flexible management of relationships between files - for example, each node (file or folder) can have multiple parents. This allows you to place a file / folder in several folders simultaneously.
- Computable or dynamic folders. The contents of these folders is calculated depending on the specified criteria. For example, if you create an important folder in the Articles folder and impose conditions on it like “pdf extension, speech recognition phrase”, the folder will contain files corresponding to this condition.
- The ability to connect plug-ins. Allow third-party developers to add new functionality. For example, image recognition / categorization.
- Using semantic web elements to describe a data structure. This will allow the system to automatically decompose the series of the series in the right place of the graph or generate a suitable structure.
Mapping to an existing file system:
- Through the user interface of the application, mount an arbitrary node in any folder of the real file system.
- Availability of calculated Inbox folders (list of parent nodes).
Ui
In the prototype, a graph was displayed on the left side of the application, and a list of the contents of the current folder node on the right. It is possible to create links between nodes.
Possible implementations
I started to do a Linux concept using FUSE (Python). The user interface was written in Java. However, I too downplayed the amount of work, so the development had to be suspended. At this time I am looking for potentially interested people.
Notes on the future
- Linking various sources of files into one graph - player, izhelezok, laptops, smartphones. This will ensure transparent work with files, wherever they are.
- Ability to connect to the system via the network.
- The ability to share metadata with other users.
- Creating different graphs for different users of the system.
- The use of elements of statistics and data mining to tweak the system for the user. For example, it will allow you to create computable folders that will display the most frequently used files, the most popular music and video.
The above are the most basic elements of the system. The rest I have so far decided to leave behind brackets.
The main question is: should the project continue?