ホーム > サイトマップ > PC > PCの仕組 > PCファイルの階層構造

PCファイルの階層構造

2009.06.26. 掲載
このページの最後へ

目次
1.はじめに
2.階層構造
3.階層構造の表示法
4.PCのファイル
5.PCファイルの階層構造
6.仮想階層構造の意味
7.まとめ


1.はじめに

わが国では、1985年から MS-DOS が広く使われ始めた。これは文字と記号でPCに命令をする CUI タイプのマシーンだった。その前年の1984年には、マウスとアイコンなどのCGを使って視覚的にPCに命令する GUI タイプのマシーン Macintosh が米国で誕生した。しかし、 GUI タイプのPCが一般に普及し、CUI タイプのPCを駆逐したのは、1996年の Windows 95 からである。

MS-DOS PCでは、キーボードから文字と記号を入力してPCに命令をするので、ファイルの階層構造を理解していなければ、使いこなすことは難しかった。一方 Windows PCでは、ファイルがアイコンとして表示されるほか、Windows Explorer によって、ファイルの階層構造が視覚的に理解できる。そのためか、現在市販されている Windows PCの入門書、解説書にはファイルの階層構造についてほとんど書かれていない。

PCはハードウエアとソフトウエアとその中間的な存在であるファームウェア(BIOS)から成り立っている。ソフトウエアはすべて「ファイル」という形で使われている。そのファイルは、ハードディスクなどの記録媒体に「階層構造」で保存されている。その階層構造の基本的な知識を持つことは、Windows PCを使いこなす上でも役立つと思われる。また、階層構造はPC以外の分野でも広く使われている分類整理法であり、その点でもこれに関する知識は有用であると思われる。



2.階層構造

世界、国家、社会、学校、企業、家族にいたるまで、人間社会のあらゆるところに自然発生的であれ、人為的であれ階層構造が作られている。自然界にも自然発生的に作られた階層構造がある。階層構造とは、対象が高層建築のように各階を、下層から上層へと順に積み重ねて全体を構成している場合の構造で、ピラミッド構造とも言う。一方、ある要素が複数集まってグループを作り、そのグループが複数集まってより大きなグループを作り、そのグループが複数集まってさらに大きなグループを作り、それを拡大していく構造も階層構造という。

厳密な意味での階層構造では、上の階層は下の階層が備える性質をすべて持っている。例えば、自然科学での「生命」は、細胞−組織−器官−器官系−個体 - 群...となり、「生物の分類」は、界 - 門 - 綱 - 目 - 科 - 属 - 種となっている。一般社会でも、「住居表示」は、都道府県−市−町村−番地−号 となって、上の階層は下の階層が備える性質をすべて持っている。

しかし、これほど厳密な階層構造は通常少なく、外見的にピラミッド構造や高層ビルのような構造であれば、階層構造と呼んでいるようだ。



3.階層構造の表示法

階層構造を「ツリー構造」と呼ぶことが多いが、これは階層構造を表示する方法として「ツリー図」が広く使われているためだろう。実際は、ツリー(樹)の根を上にしたり、左に持ってきたりしているが、ルート(根)ということばはそのまま使われている。

階層構造を図示する場合、1本の「根」から幹が「節」の部分で枝別れして最後に葉となる「樹」に例えてみれば、視覚的で分かりやすい。そこから図1の「ツリー図」が考案されたのだろう。

本来のツリー図 根が下にある
図1.本来のツリー図 根が下にある

しかし、文書に記述する場合、下から上への視点の移動が続くことはなく、視点は上から下、左から右へ移動するので、図2のような上下が逆さまの表示や、根を左に置く図3のような表示が使われるのだろう。

天地が逆転したツリー図 通常はこちらが使われる
図2.天地が逆転したツリー図 通常はこちらが使われる

図3、図4の左→右の表示は、階層が余り深くなく、多くの項目を表示する場合に適しているので、PCのファイル構造の表示に使われる。

根が左にあるツリー図 ファイル構造の表示に使われる
図3.根が左にあるツリー図 ファイル構造の表示に使われる

シンプルに、根と節と葉で表示したツリー図もよく使われる
図4.シンプルに、根と節と葉で表示したツリー図もよく使われる

以上いずれの図でも「AAAA」が「根(root)」で、枝分かれのない「B2BB」や「E1D4」は「葉(leaf)」、それ以外の枝分かれしている「B1BB」や「C1B1」を「節」と呼ぶ。

この階層構造により、★印のつけた「葉」は、位置的に図5のように表示できる。これは、例えば「住居表示」やPCのファイルの保存位置を示す「パス(PATH)」に使われている。

階層構造を使って表示される★印をつけた「葉」の位置までの経路
図5.階層構造を使って表示される★印をつけた「葉」の位置までの経路



4.PCのファイル

PCのソフトウエアは「ファイル」という形で使われている。これは「プログラムファイル」と「データファイル」に分けられる。PCに仕事を命令するタイプのファイルが「プログラムファイル」で、これには Windows XP などのOS を構成するプログラム(例えばWindows Explorer)と、OSの上で動くアプリケーションソフト(例えばExcel)などがある。プログラムファイルで作られたデータを収めたファイルが「データファイル」である。これらのPCのファイルを管理しているのはOSだが、OS自身もファイルの集まりである。

ファイルの名前」は「名前+拡張子」で構成され、「拡張子」は「.」ドットとそれ以下の通常3文字の英数字から成り立っている。(例えば、「.txt」「.doc」「.jpg」など)。拡張子はそのファイルの種類を示す重要な指標だが、Windows 95からWindows vista に至るまで、Windows の初期設定では、なぜか拡張子が表示されないようになっている。これは拡張子がなくてもアイコンの違いで分るから不要という考えから来ているのかも分らない。しかし、ファイルや階層構造をよく理解するには、拡張子を表示するように変更しておく方が便利だ。

その方法は簡単で、1)どれかのフォルダを開き、2)ツール(T)をクリックし、3)フォルダオプション(T)をクリックして、4)フォルダオプション(O)をクリックすると、「フォルダオプションウインドウ」が現れる。5)表示タブをクリックして、6)詳細設定の中ほどにある「すべてのファイルとフォルダを表示する」にチェックを入れ、7)[OK]ボタンを押すことで設定変更は完了する。



5.PCファイルの階層構造

●PCファイルの保存に階層構造が必要な理由

PCには膨大な数のファイルが収められている。例えば、私が3年間使ってきた Windows XP 機を調べてみると、C ドライブには約8千ファイルが保存されていて、その大部分はプログラムファイルである。D ドライブには約18万ファイルが保存され、その大部分はデータファイルである。E ドライブには約1千のデータファイル、バックアップ用の外付けHDDのL ドライブには、約9万のデータファイルが保存されている。もしも、このファイルが規則性なく保存されていれば、それを活用することは不可能に近い。膨大なデータを整理する方法として、何らかの分類整理をする必要がある。その場合、過去から最も広く使われてきて、現在もなお最も広く使われている階層構造が選ばれるのは致し方ない。

Google や Yahoo! などの検索エンジンの威力を考えると、データにいくつかのキーワード(タグ)を付けて、特別な分類整理をしないで置くことが可能かも分らないが、人間の頭でそれをイメージ化することはできず、ブラックボックスとなってしまう。

結局、PCのファイルは階層構造で保存し、図3、図4のタイプのツリー図で表示できるようにせざるを得ないのだろう。


●階層構造の表示法

MS-DOS PCも Windows PCも基本的にはファイルの階層構造は同じで、HDDなどの記憶媒体それぞれをドライブと呼び、これを「根」にあたるルート・ディレクトリとし、その下の枝分かれする「節」をディレクトリまたはフォルダとして、枝状に階層構造で配置し、最後に「葉」にあたるファイルを置く構造となっている。ディレクトリ(DIRECTORY)は英語で「住所人名録」、フォルダ(folder)は英語で「紙ばさみ」の意味がある。

ドライブを表示する記号として「:」、階層を結ぶ記号として「\」が用いられ、これを使うことで、例えば、「Outlook Express」の本体である「msimn.exe」ファイルの保存場所は、図6のように表示できる。このルートディレクトリから目的ファイルまでの通過する経路を「絶対パス(PATH)」と呼ぶ。なお、パス(PATH)は「道筋、経路」の意味である。

「Outlook Express」の本体である「msimn.exe」への絶対パス
図6.「Outlook Express」の本体である「msimn.exe」への絶対パス

MS-DOS PCで「ディレクトリ」と名付けられた「節」に当たるものが、 Windows PCでは「フォルダ」という名前に変えられただけで、実質的には同じものを指している。しかし、「ルートディレクトリ」だけは変わらずに使われ、「ルートフォルダ」とは一般には言わない。

キーボードを使って、文字と記号でPCに命令をする CUI タイプのMS-DOS PCでは、ファイルの保存場所を正確に表示する方法として、この階層構造は特に重要だった。MS-DOS のツリー図は、tree コマンドで得られ、例えば図7のようなものであった。正確ではあるが、単純で、ツリーの階層が全部表示される。

tree コマンドを使って得られたツリー図
図7.tree コマンドを使って得られたツリー図

マウスとアイコンなどのCGを使って視覚的にPCに命令する GUI タイプの Windows PCでは、Windows Explorer によって、ファイルの階層構造が視覚的に理解できるように最初からなっている。これには、[+] のボタンが付けられて、これをクリックすると[-] に変わり、1段下の階層が表示される。これをくり返すと全部の階層を表示できるが、最小限の表示に抑えることもできるので、便利で使いやすい。

しかし、 Windows PCでは階層構造が拡大解釈され、通常はフォルダと言わない「仮想フォルダ」のようなものが加わって複雑化し、全体として「仮想階層構造」のようになっている。これには MS-DOS PCを長年使って来た者には戸惑うところがあった。

例えば、図8で表示した階層構造では、最高位に「デスクトップ」があり、その下の階層に「マイドキュメント」「マイコンピュータ」「マイネットワーク」「ごみ箱」と「デスクトップ上に作った5個のフォルダ」が並んでいる。

Windows XP PCの階層構造(Windows Explorer による表示)
図8.Windows XP PCの階層構造(Windows Explorer による表示)

しかし、実際は「デスクトップ」も「マイドキュメント」「マイネットワーク」「ごみ箱」も実体を表すフォルダではない。また、「デスクトップ上に作った5個のフォルダ」は、上から2番目の階層にくるような重要なフォルダではない。いずれも「仮想フォルダ」とでも呼ぶべきフォルダで、実体は別の場所にある。そのことを以下で検証する。

デスクトップ」の下の階層に「マイコンピュータ」があり、その下の階層に「ローカルディスク(C:)」があり、更にその下の階層に「Documents and Settings」があり、その下の階層に「ユーザー名」の階層がある。その「ユーザー名」のフォルダの下の階層に「デスクトップ」のフォルダがある(図9)。このフォルダが初期設定された階層構造の最上位にある「デスクトップ」の実体であり、それ自体はこのフォルダのショートカットである。

Windows XP 初期設定での「<b>デスクトップ</b>」のフォルダの階層
図9.Windows XP 初期設定での「デスクトップ」のフォルダの階層

私は、この「デスクトップ」の実体をDドライブに移動させている。そのため、この場合は「マイコンピュータ」の下の階層の「ローカルディスク(D:)」の下の階層にある「デスクトップ」というフォルダ(図10)が実体で、このショートカットが見かけ上 Windows XP PCのファイル構造の最上位にあるというわけである。

Dドライブに移動した「<b>デスクトップ</b>」のフォルダの階層
図10.Dドライブに移動した「デスクトップ」のフォルダの階層

マイドキュメント」もWindows Explorer では、上から2番目の階層にあるフォルダとなっているが、これもショートカットで、実体はデスクトップの実体と同様に通常は「マイコンピュータ」の下の階層の「ローカルディスク(C:)」の下の階層の「Documents and Settings」の下の階層の「My Documents」というフォルダが初期設定されている。(図11)

Windows XP での「<b>マイドキュメント</b>」フォルダの実体
図11.Windows XP での「マイドキュメント」フォルダの実体

私は、この「マイドキュメント」の実体もDドライブに移動させている。そのため、この場合は「マイコンピュータ」の下の階層の「ローカルディスク(D:)」の下の階層にある「MyDocuments」というフォルダ(図12)が実体で、このショートカットが見かけ上 Windows XP PCのファイル構造の最上位にあるというわけである。

Windows XP での「<b>マイドキュメント</b>」フォルダの実体
図12.Windows XP での「マイドキュメント」フォルダの実体

マイコンピュータ」はショートカットでもなく、観念上では、各HDDなどの上に来る「仮想フォルダ」である。この下の階層にある「ローカルディスク(C:)」や「ローカルディスク(D:)」の階層などは、実体のある本当の階層構造である。

マイネットワーク」も「仮想フォルダ」で、「 Microsoft Windows Network 」というネットワークで繋がった二つ以上の Windows PCについて、ワークグルプ名が同じ名前の場合に階層構造は、図13のように、ワークグルプ名(この場合「GROUP)のフォルダの下の階層にコンピュータ名のフォルダ(この場合、Pc-main と Pc-sub )が並ぶ階層構造を表示する。

ネットワークで繋いだ同じワークグループ名の2台のPC
図13.ネットワークで繋いだ同じワークグループ名の2台のPC

そのコンピュータ名フォルダの下の層には、図14のようなフォルダが並ぶ。これはすべてが「共有フォルダ(shared folder)」で、ネットワーク上の他のユーザから参照できるように、コンピュータの持ち主によって許可設定されたフォルダである。この「共有フォルダ」は、それぞれのPCでは深い階層にあるとしても、コンピュータ名フォルダの直ぐ下の層にくる。ただし、「共有フォルダ」以外は表示されないので、そのPCに保存されているファイルの一部だけが表示されることになる。

コンピュータ名のフォルダの下の階層には「<b>共有フォルダ</b>」が置かれる
図14.コンピュータ名のフォルダの下の階層には「共有フォルダ」が置かれる

その「共有フォルダ」の下の階層は、単独のPCと同じサブフォルダが置かれている。単独のPCでの「デスクトップ」の階層構造を、図8〜10で見てきたが、それが共有フォルダとして設定されていれば、ネットワークコンピュータでもこのように表示される。(図15)

「<b>共有フォルダ</b>」の下の階層のフォルダ(サブフォルダ)
図15.「共有フォルダ」の下の階層のフォルダ(サブフォルダ)

先にファイルやフォルダの正確な位置を示す方法として図6で、「絶対パス」について述べた。これはコマンドプロンプトやバッチファイルを使う場合に必須である。

この原稿「PCファイルの階層構造.txt」の「絶対パス」は

  D:\デスクトップ\階層構造\PCファイルの階層構造.txt

ネットワークコンピュータの場合は、下記のような「UNCパス」で表記する。

  \\コンピュータ名\共有フォルダ名\サブフォルダ名\ファイル名

この原稿「PCファイルの階層構造.txt」のUNCパスは、

  \\Pc-main\デスクトップ\階層構造\PCファイルの階層構造.txt

このUNCパスは、コンピュータ名が「Pc-main」で、「デスクトップ」という名前の共有フォルダのサブフォルダである「階層構造」というフォルダの中に、PCファイルの階層構造.txt が存在することを示している。UNCパスはネットワークで繋がったPC間でのデータの交換をバッチファイルで行なう場合などに欠かせない表記法である。

このように「マイネットワーク」も観念的な「仮想フォルダ」で、Windows PCのネットワークに関する項目を集めたフォルダである。「ごみ箱」も特殊なフォルダで、その存在場所を表示できない。Windows PCには、このような「仮想フォルダ」が使われ、「仮想階層構造」を形成していることが分った。それが分るまでは、Windows PCの階層構造の理解に困惑した。

なお、 Google で「"仮想フォルダ"」で検索すると約17,200 件のヒットがあったが、「"仮想階層構造"」での検索でヒットしたの6件しかなく、心理学関係が主で、コンピュータ関係は皆無だった。だから、「仮想階層構造」ということばは、現在の日本語にはないようだ。


●階層構造の欠点と対策

この階層構造はファイルの保存場所を正確に表示するのに適しているが、階層が何重にも重なると、その正確な表記が煩わしく、また困難となるのが欠点である。

その不便さを解消する方法として、MS-DOS PCでは、処理を行なう場所を、対象となるファイルが存在するディレクトリへ移動することにより、絶対パスの記述を必要としないようにする工夫があった。この処理を行なうディレクトリをカレントディレクトリと呼ぶ。これは、「CD」というコマンド(命令)をPCに与えることで得られる。CD とは Change Directory に由来する。このコマンドは、データファイルの保存場所を決める場合に使われることが多かった。私は自分に分かりやすい名前のバッチファイルの中にそれらのコマンドを書き、そのバッチコマンドを入力して対処することが多かった。

プログラムファイルの場合は、環境変数 PATH でプログラムファイルの存在するディレクトリまでの絶対パスを設定しておくだけで、どのディレクトリからでも、そのプログラムを実行できるという方法を利用して来た。

Windows PCには、深い階層構造の不便を解消する方法として「ショートカット(short cut)」という「仮想フォルダ」が作られている。「ショートカット」は、ファイルやディレクトリに別の名前を付けたファイルで、拡張子は「.lnk」である。ショートカット(short cut)とは英語で「近道」を意味し、そのことば通り、対応するファイルやフォルダへの「近道」である。そのアイコンをダブルクリックすると、対応する実際のファイルやフォルダを開くことができ、ショートカットアイコンの置いてある場所に、あたかもアプリケーションなどの本体があるように扱うことができる。

プログラムファイルへのショートカットであれば、ダブルクリックすれば対応するプログラムファイルを実行することができる。また、データファイルの場合は、適切なアプリケーションソフトで開いて編集することができる。これをデスクトップやタスクバーのクイック起動、スタートメニュー、ランチャーなどに置くことで、簡単に目的を達成できる。

ショートカットは、フォルダやファイルを指し示すという本来の機能の他に、コントロールパネルの設定項目のようなファイルでないものも指し示すことができるようになっている。なお、リンク先のファイルが移動された場合にはショートカットは追従できず、無効なリンクとなる。

Windows VISTA からは「シンボリックリンク」という別の仮想フォルダも実装されたようだ。シンボリックリンク(symbolic link)は、ファイルやディレクトリに別の名前を与え、リンク先のファイルを実体と同じようには扱うことができる機能のようだ。「ショートカット」もこれに似ているが、リンク先のファイルを実体と同じようには扱えない点で劣っているという。まだ、Windows VISTA を使っていないので、実際のことはよく分らない。

これらを自分が理解しやすいように図解してみた。

αドライブの階層構造の深いところにある「本来のファイル名 または、フォルダ」の実際のデータは、階層構造とは関係なく、ディスク(ドライブ)内の一定の場所に保存されている(図16)。

α ドライブの階層構造の深いところにある「本来のファイル名 または、フォルダ」
図16.α ドライブの階層構造の深いところにある「本来のファイル名 または、フォルダ」

ショートカット」というのは、「本来のファイル名 または、フォルダ」と同じドライブか、別のドライブの使いやすい浅い階層に作った別名のファイルやフォルダで、実体はない。これは「本来のファイル名 または、フォルダ」への近道を示しているだけで、ドライブ上の実際のデータを直接操作することはできない(図17)。

ショートカット
図17.ショートカット

シンボリックリンク」というのは、「本来のファイル名 または、フォルダ」と同じドライブか、別のドライブの使いやすい浅い階層に作った別名のファイルやフォルダで、実体はない。しかし、ドライブ上の実際のデータを直接操作することができる(図18)。

シンボリックリンク
図18.シンボリックリンク

階層構造のもう一つの欠点は、分類の規準が一つの特性(属性)で、一次元的に行なわれていることである。データには複数の特性があり、他の特性で分類する方が理解しやすい場合もあり得る。そこから、多次元的なデータベースのような分類も思い浮かぶが、その構築には、階層構造とは桁違いの努力が必要になる。そして、もしそれが実現できたとしても、不完全である可能性はやはり残る。 そこで、発想を変えて、基礎となる階層構造にデータを残しておいて、別の特性、別の切り口に基づく仮想の階層構造をいくつも作り、それを基礎となるデータにリンクする。このやりかたが、分かりやすく使いやすくする簡単で時間も費用も少ない方法だと思う。



6.仮想階層構造の意味

さきに、階層構造の欠点を補うものとして、仮想階層構造というものが考え出されたのではないかと推論した。そのことを、Windows PCとWebサイトの面から、もう一度検討してみたい。

●Windows PCの仮想階層構造

MS-DOS PCのファイルの階層構造は十分理解することができた。しかし、Windows PCでは、本来の階層構造とは違ういろいろな階層構造があり、釈然としないので、現在使っている Windows XP PCを使って、実際に検討してみたのが、ここまでの経過である。

階層構造には、最初にピラミッド型の分類を行い、それに対象を入れていくタイプと、ある対象が複数集まってグループを作り、そのグループが複数集まってより大きなグループを作るとか、グループの中にまた小さなグループを作るということが重なって作られるタイプがある。先のものを「演繹的階層構造」、後のものを「帰納的階層構造」と呼んでも良いだろう。結果的には同じピラミッド構造をとるとしても、その違いは大きい。

その違いは、ディレクトリフォルダの違いであると考えることもできる。ディレクトリが「住所人名録」であるのに対して、フォルダは「書類ばさみ」であり、いくつかのファイルを整理のために放り込んでおくという役割である。一つのフォルダの中のファイルの数が増えてくれば、それらをいくつかのグループ分けて、新しく作ったフォルダの中に放り込む。あるいは、もっと大きなフォルダの中に、いくつかのフォルダを入れる。これらの作業をくり返して作られたのがフォルダ系の階層構造の原点であり、帰納的階層構造になる。現実的で、視覚的に分かりやすく、融通無碍のところがある。

それに対して、ディレクトリ系のファイルの階層構造は、住所人名録の名前の通り、出発点からたどってそのファイルの存在する場所へ正確にたどれることが原点にあり、演繹的階層構造になる。こちらは理論的で、整然としているが、融通のきかないところがある。図書館的階層構造とも言える。

OSやアプリケーションソフトなどのプログラムファイルの多くは完成された形であり、演繹的に決められた階層構造は、整合性がとれていて合理的で、プログラムファイルにふさわしい。しかし、PCを使って作られるデータファイルについては、予め階層構造を決めておいて、それに当てはめていくのは無理な場合があり、現場の状況に応じて変化を加え、作り上げていくという帰納的な階層構造の方が、たとえスマートではなくても、現実的で望ましいと考えられる。一般的には、演繹的階層構造は既にあるデータの分類整理に適し、帰納的階層構造は新しく生まれてくるデータの分類整理に適している。

Windows PCは、ディレクトリ系のファイルの演繹的階層構造を基礎に持ちながら、融通無碍な帰納的階層構造の手法を発展させて、分かりやすく使いやすくするために、「仮想フォルダ」を作り、「仮想階層構造」を作っているのだと考えると、納得が行く。

Windows VISTA では、Windows Explorer による階層表示の仕方が大幅に変わったようだ。それ以上に驚いたのは、フォルダによる階層表示の上に、「お気に入りリンク」という場所を作ったことだ。これは「通常はここだけを操作すれば間に合いますよ、ややこしい階層表示の方がお好きなら、そちらに変えることもできますが、、、」と言っているかのようだ。この「お気に入りリンク」というのは、良く使うソフトやフォルダのショートカットをデスクトップに置いたやり方の高級版といったところだろうか? 使いやすくするために、いろいろ工夫改良をこらしている姿勢は分らないでもない。


●Webサイトの仮想階層構造

10年ばかり MS-DOS PCを使ってきている間に、PCのファイルの階層構造は実体であるべきだという思い込みができてしまっていたようだ。しかし、仮想階層構造であっても、それが実体と確実に結びついていて、仮想階層構造の方が使いやすいとか、分かりやすいのであれば、むしろそちらを活用する方が実用的である。実体の階層構造を改変することは通常困難な作業で、失敗する危険も高いが、仮想の階層構造の改変は通常容易で、危険も少なく、修正も容易に行なえるからである。

その実例として、私のWebサイトのデータファイルの階層構造をご紹介する。1996年の開設以来、掲載したファイルは約470件で、現在400件以上が残り、その全てが同じ階層に並んでいる。つまり、横並びの無階層である。

しかし、サイトマップの階層構造を見ると、ホームページ(トップページ)をルートディレクトリとして、その下の階層に8個のフォルダがあり、その内の6個には、さらにその下の階層に4〜15個のフォルダがある。これを可能にしているのが「仮想フォルダ」であり、「仮想階層構造」である。

Webサイトはフォルダを使って階層構造にしなければ、後で収拾がつかなくなるという意見を開設した当初から、多数見聞きしてきた。しかし、映像や音声データはすべてフォルダに収めたが、HTMLファイルはすべて同じ階層に置き続けてきた。その理由は予め分類をしておいて、それに対象を収めていくという図書館方式は必ず失敗するという経験則からだった。

掲載記事の数が少ない間は、分類しなくても記事を見つけることは簡単だが、開設して1年も過ぎると40件を越えるようになり、分類を始めた。そのやり方は、いくつかにグループ分けをし、それを細分して更にグループ分けする場合が大半で、グループを包括する大きなグループを作る場合もあった。

これはつまるところ、フォルダ的、帰納的階層構造である。そのようにして一番多いときには、ホームページの下の階層に12種類の大分類を作ったが、2005年からは現在の8種類に落ち着いている。この階層の下に小分類を作るという2段階の階層を持っている。

これらの分類は、実際に階層フォルダを作って、そこへ移動させたものではなく、仮想的なフォルダによる仮想的階層構造へ、記事を仮想的に配置したものである。しかし、サイトの訪問者にとって、それが仮想のものだとは分らず、実体がそのような階層構造であるように見えるはずだ。

この仮想的階層構造は、作ったものの恣意的構造であり、不注意のため、または意図的に、欠落記事が出てくる可能性はある。それに対して、すべての記事(実体)を過不足なく収めた階層構造は必要である。その条件を満たし、最も簡単に作れる階層構造は、Webサイトに掲載した時間順に整理した更新履歴、略して更新歴である。

これは「年」のグループの仮想階層の下に、3ヶ月単位でグループ分けをした仮想階層からなる単純な階層構造ではあるが、最も正確で、作者の恣意的介入の余地はない。この「更新歴」をサイト開設の早い時期から作り、公開してきた。「更新歴」は新しい記事が何かを知るために重要な情報でもあり、ホームページのトップに最新の更新歴というリンクスイッチを設け、「更新暦」の最新掲載記事にジャンプできるようにもしている。

先に、「デスクトップ」や「マイドキュメント」がいろいろの階層構造で表示されることから、「仮想階層構造」という概念に行き着いたことを述べたが、これをまとめていて、私のWebサイトでも「仮想階層構造」を使って同じことをしていたことに気がついた。

例えば、サイトマップでは、「音楽エッセイ」は「エッセイ」の分類と「音楽」の分類の中に、同じものが入っている。「医療エッセイ」も「エッセイ」の分類と「医療」の分類の中に、同じものが入っている。サイトマップは記事を見つけだすことが一番重要だから、それに役立つのであれば、重なっても支障はない。むしろ、「音楽」から「音楽エッセイ」を選んだが、そこにはなく、「エッセイ」を探さなければならないというのは、無駄な操作を強いることで好ましくない。

その他にも、Webサイトのホームページに、サイトマップの一番上の階層(大分類)を並べ、その横に、一つ下の階層(小分類)を並べて、ここからサイトマップのそれぞれの大分類、小分類にジャンプできるようにしているが、これも別の「仮想階層構造」と言えよう。

また、記事を掲載した時間順ではなく、その記事の元になる作品を制作した時間順に並べた制作目録という仮想階層構造も作っている。これは自分のために作ったものだが、私の作品に関心がおありの場合には役立つのではないかと思う。

最後に、このようなファイル横並びという無階層構造では、分類整理に困惑し、収拾がつかなくなるのではないかという疑問に対して、それはまったく正反対だとお答えしておく。既に集まっていて、変動の少ないデータを整理するには、予め分類をして、そこへ収めていくやり方は確かに有効で効率的である。一方、これから増え続け、変動するデータの場合、この方法では分類の改変を余儀なくされる運命にある。この一旦作った分類を改変する作業は、大変であるだけでなく、誤りが生じやすい。

ファイル横並び階層構造の中で、私が目的とするファイルを見つける方法を、使用頻度順に並べると、1)サイトマップから、2)HDD内ののファイル名から、3)更新暦から、4)当サイト内専用 Google検索からとなる。

1)では、サイトマップからWebページを表示し、そのアドレスバーからファイル名を知り、保存しているHDDのフォルダ内で名前順にソートすれば、ファイル名は簡単に見つかる。

2)ファイル名がおおよそ見当がつく場合は、直接HDDから探す方が簡単で、名前順でソートするか、それが最近のものであれば、更新日時順でソートすれば良い。

3)更新暦から探すのは、サイトマップでは見つからない場合で、サイトマップに登録するのを忘れていることが稀にあるからだ。

4)当サイト内専用 Google検索を利用すると、関連キーワードが載っている当サイトのページが列挙されるので、その中から目的とするファイルを見つける方法で、有効である。

分類を変えるのは、ヴァーチャルな分類であるから、エディター上で新しい分類を作ったり、コピー&ペーストで移動させたりするだけで済むので簡単極まりない。これを実際にHDDでやろうとすれば、かなり面倒で、誤りも出やすい。

しかし、それよりも大変なのは、リンクを全部張り直さなければならないことである。それが、自分のサイト内のリンクだけであればまだ何とかできるが、自分のサイト以外からのリンクに対しては対応の仕様がない。その結果はリンク切れを招き、迷惑と不信をもたらす。

そのほか、ファイル横並び階層構造には「検索エンジンでは浅い階層の方が拾われやすい」というメリットもある。



7.まとめ

Windows PCのファイルの階層構造がいくつもあることに疑問を持ち、「仮想フォルダ」「仮想階層構造」という概念に行き着き、この問題は解決できた。それだけでなく、自分が意識しないで、「仮想フォルダ」「仮想階層構造」をWebサイトの場で作っていたことを知り、これはデータの集合体を効率よく利用する際の、人間のすぐれた知恵の一つではないかという考えに思い至った。その点では、Windows PCの工夫改良は理解でき、賛同する。

しかし、いくばくかの不安も感じる。使い勝手の良さを追求してそれを宣伝し、データの構造的な知識を知らせる努力を怠っているということは、ユーザーを軽く見ているのではないか?

昔、MS-DOS PCを使っていたころ、Macintosh に変えようと思ったことがあった。その時ディーラのショップで見せられたCMを見て、嫌悪感をいだき、結局 Macintosh を使うことはなかった。今巷でブームとなっている「1Q84」と同じ「1984年」と名付けられたそのCMは、IBM-PC のユーザーを奴隷に見たて、Macintosh は、奴隷を解放し、自由にするという動画だった。

MS-DOS PCのユーザーの多くは、CUI という制約の中で、自ら努力して何とかそれを使いこなして来た。それに対し、GUI という恵まれた環境の中で、与えられた使いやすい道具を使って、苦労したり考えることをせず、これに頼り、それを誇示する Macintosh ユーザーが当時はかなりいて、それじゃ Mac の高等奴隷じゃないかと反発したのだったと思う。

最近、YouTubeで、この動画を見つけたので、ご紹介しておく。


<2009.6.26.>

ホーム > サイトマップ > PC > PCの仕組 > PCファイルの階層構造   このページのトップへ