Entry

文書ファイルの管理方法を考える

2010年04月14日

この頃は,暇を見つけてはあちこちの論文を読んでいるんですけれど,コンピュータ関係の学術論文は,大抵 PDF で配布していたりします。んなもんで,こゆもんはコンピュータの中に入れて持つことになります。

で,ま,ダウンロードした論文ってのは,大抵その論文の管理システムで振られた(あるいは人力で振られた)識別番号がファイル名になっていたりします。a3920039.pdf とかいった具合に。しかし,この検索性がものすごく悪い。Windows でも UN*X でもそうですけれど,ファイルの一覧を見て,何が書かれているのかさっぱり分からない。

ということで,これまでは,識別番号のファイル名を論文のタイトル変更にして保管していたのでした。しかし,これにも限界がある。まず,日本語の論文の場合は,文字コードの問題があります。Samba なんかをかませるとしても,保管しているシステムによってファイル名が(文字コードとして)異なるのは,管理方法としておかしな感じがします。また,仮に文字コードの問題を割り切ったとしても,長い論文のタイトルや非表示文字(スペースとか)がタイトルに現れている場合はどうするんだ?とかいった問題もあります。

んなもんで,文書ファイル(特に論文のような読み出し専用のファイル)を管理する方法について,ちと考えています。もう,ファイル名で分類するのは無理。

この点,一応巷には文献管理ソフトなんつのがあったりする。例えば,Endnote とか GetARef みたいなもん。BiBTeX 形式で出力できたりするので,理科系の学部に進まれている方は,こゆもんを使っている場合が多いんじゃないかと思います。しかし,これ高い。また,多くは,ファイル管理というより,文献の索引管理が主だった目的になっているので,索引の取り込み機能なんかは充実しているものの,「ファイルを管理する」といった目的からは外れていることがあります。そしてもちろん,学術論文専用のソフトということになっている。論文のような大きなメタデータを持っているファイルは,他にもたくさんあるわけで,あたしの希望からすると,ちと汎用性に欠けてしまいます。

考えてもみると,大きなメタデータを持っているファイルの場合,ファイル名そのものにはあまり意味がないんですよね。そのディレクトリなりフォルダなりで,一意な名前が付いていればいい。

つことで,こんなもんを考えてみる。

  • ファイル名はファイルそのものの MD5 を計算して16進文字32文字のベースネームを与える。
  • MD5 の文字列をキーにしてデータベースでメタデータを管理する。
  • 内部的には軽くてシステム間で敷居の低い SQLite のような簡易データベースを使う。
  • 外部に出力するとき,基本は XML で出力。その後,XSLT で任意のフォーマットに整形できることにする(別アプリ)。
  • 外部からの入力も,出力時の XML と同じフォーマットにする。

ファイル名に「人間が分かる意味」を持たせるのではなくて,データベースで管理しましょう,と。ファイルそのもののハッシュを取るので,同じファイルで違う名前,みたいなことがありません。また,ファイルでハッシュ値が一意になるから,同じファイルについてメタデータを他人と共有することもできる。一方,ハッシュアルゴリズムを MD5 にしたのは,単純に比較的衝突が少なくて,文字数も計算量も手ごろというだけだったりします。

実のところ,こゆ管理のしかたは,業務アプリなんかでは普通に行われていたりします。PDM のような図面(文書)管理システムでは,物理的なファイル名と論理的なファイル名を分けて管理していたりする。そゆもんのミニチュア版を,個人向けに作れないかなーと思っています。

連休あたりに作ってみようかな。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN