* 連想型ファイルシステム [#mb900d3b] こんなのできないかなシリーズ。~ #contents **概要 [#td263aaf] 今のファイルシステムは、情報の記憶と整理することが目的である。記憶された情報を活用するには、基本的にアプリケーションで操作を行う。この場合、ファイルシステムの役割は、パスやファイル名などのインデックスと実体を一対一で紐づける事と、実体の読み書きまでである。~ ~ 連想型ファイルシステムでは、実体とインデックスの関係を複数持つことができ、関係情報として、重要度と利用度の二つのパラメータを持つ。~ インデックスは、よくあるファイル名以外にも、実体に含まれる単語や、記録した日時、実体の種類などを扱う。これらの情報は、実体を解析するなどして作成されるが、解析部分はプラグインの形で組み込むことにする。~ 先ほどファイル名が出てきたが、このインデックスは作成しなくてもよい。アプリ名とか作品タイトルのインデックスで呼び出せるからである。~ ~ インデックスからは連想情報として10件程度を常に取り出せる。並びは重要度と利用度でファイルシステムが判断する。複数のインデックスを使用すると、取り出せる連想情報も変化する。~ ~ アプリなどから実体解析と連想情報取り出しは自由に呼び出せる。たとえばテキストエディタでは、入力テキストの一部分をアプリが取り出して[解析→インデックス→連想情報]と処理することで、連想情報を表示しながら作業を進めることができる。~ ~ もう一つ実現したいのが、実体内の時間経過に関する情報。テキストであれば、後ろに進むほど未来であると言える。この場合は時間経過についての関係性のみが情報で、時間の進み具合は欠落している。同じテキストでも、歌の歌詞の場合を考えると、歌詞単体ではやはり関係性のみしかない。これが曲と組み合わせた場合は、時間の進み具合が必要になる。つまり実体単体の場合と、実体間の場合でそれぞれ別に記憶できる必要があることになる。~ 時間表現についても実体の解析が必要なので、これもプラグインでの実装になる。~ ~ 音楽などの場合、このファイルシステム上では、リズム、各パートの音程、歌詞などの情報が、それぞれ別の実体を持つと考える。mp3など録音された音楽の場合は、実体はmp3のみで、インデックスと時間経過情報が付くだけで、リズムなどの取り出しはアプリまたはプラグインの仕事になる。~ ~ ---- #comment Total:&counter(total); Today:&counter(today); Yesterday:&counter(yesterday);