まえがき
約1年前、セマンティックファイルシステムの実装を開始することにしました。 完全に技術的な性質ではないため、開発は中止されました。 現在、潜在的に興味のある人を探しています。
ツリーファイルシステムの欠点
ダウンロードした映画は、ドラマ、お気に入り、eng映画のどのフォルダーに配置する必要がありますか? 昨日調べたドキュメントをすばやく見つける方法は? 任意の基準でファイルのリストを作成する方法は? ファイルの山を自動的にソートする方法は?
誰もが同様の問題に直面していると確信しています。
ツリーベースのファイルシステムはオペレーティングシステムにとって便利ですが、ユーザーにとって常に便利というわけではありません。 その理由は非常に本質にあります-各フォルダまたはファイルは親を1つだけ持つことができ、それらの間の接続は非常に硬直しています。 もちろん、リンクメカニズムはありますが、単純なユーザーには実用的ではありません。
コンセプト
私の主なアイデアは、フォルダー、ファイル、およびそれらの間のリンクをできるだけ軽量にすることです。
基本原則:
- ツリーではなくグラフを使用します。 ツリーはグラフの特殊なケースであるため、後者はファイル間の関係をより柔軟に管理します。たとえば、各ノード(ファイルまたはフォルダー)は複数の親を持つことができます。 これにより、ファイル/フォルダーを複数のフォルダーに同時に配置できます。
- 計算可能なフォルダーまたは動的フォルダー。 これらのフォルダーの内容は、指定された基準に基づいて計算されます。 たとえば、Articlesフォルダーに重要なフォルダーを作成し、「pdf拡張子、フレーズ音声認識の存在」などの条件を課すと、フォルダーにはこの条件に一致するファイルが含まれます。
- プラグインを接続する機能。 サードパーティの開発者が新しい機能を追加できるようにします。 たとえば、画像の認識/分類。
- セマンティックWeb要素を使用して、データ構造を記述します。 これにより、システムはグラフの適切な場所でシリーズのシリーズを自動的に展開したり、適切な構造を生成したりできます。
既存のファイルシステムへのマッピング:
- アプリケーションのユーザーインターフェイスを介して、実際のファイルシステムの任意のフォルダーに任意のノードをマウントします。
- 計算された受信トレイフォルダー(親ノードのリスト)の存在。
UI
プロトタイプでは、アプリケーションの左側にグラフが表示され、右側に現在のフォルダーノードのコンテンツのリストが表示されました。 ノード間にリンクを作成することは可能です。
可能な実装
FUSE(Python)を使用してLinuxのコンセプトを作り始めました。 ユーザーインターフェイスはJavaで記述されました。 しかし、私も作業量を過小評価していたため、開発を中断する必要がありました。 現在、潜在的に興味のある人を探しています。
今後の注意事項
- ファイルのさまざまなソースを1つのグラフにリンク-プレーヤー、aizhelezok、ラップトップ、スマートフォン。 これにより、ファイルがどこにあっても透過的に作業できます。
- ネットワークを介してシステムに接続する機能。
- 他のユーザーとメタデータを交換する機能。
- システムのユーザーごとに異なるグラフを作成します。
- ユーザーのシステムを微調整するための統計およびデータマイニング要素の使用。 たとえば、これにより、最も頻繁に使用されるファイル、最も人気のある音楽やビデオが表示される計算可能なフォルダーが作成されます。
上記はシステムの最も基本的な要素です。 これまでのところ、括弧なしで残りを残すことにしました。
主な質問は1つです。プロジェクトを継続する価値があるかどうかです。