ハイパーテキスト~ザナドゥ・プロジェクトやXANADOCSについて

公開:2017-08-26 09:55
更新:2017-11-15 21:58
カテゴリ:HTTP,HTML,ハイパーテキスト,ハイパーリンク

はじめに

私は風呂に入るときに「新・電子立国」をよく読む。4巻と6巻しか持ってないけど。。

6巻にハイパーテキスト/ハイパーリンクの話のくだりがあって、その件についてちょっとググるとザナドウ・プロジェクトというのがあることを知って、少し調べてみることにした。

1945年のヴァネヴァー・ブッシュ氏の「As We May Think」から始まる「ハイパーテキスト」は、現在においてもまだ実現されたとは言い難いようである。

ヴァネヴァー・ブッシュの「As We May Think」

ハイパーテキストは、ヴァネヴァー・ブッシュ氏が1945年に発表した論文「As We May Think」にさかのぼる。

この文書は日本語訳が存在している。

考えてみるに As We May Think
(ブッシュ『as we may think』 - 山形浩生の「経済のトリセツ」)

要約してみた。

リレー式計算機しかなかった当時(ENIACができたのは1946年)は文書情報をデータ化するという考えはもちろんなかった。文書を物理的に圧縮するしかなかった。文書を撮影しマイクロフィルム化することで物理的なスペースを縮小するのである。文書はデータ化されていることが当たり前な現在、マイクロフィルム自体も廃れてしまっているけど。。

文書情報の紐づけも物理的な方法(例えばカードに穴をあけて、その位置を読み取ることによって文書情報を特定するなど)によっている。

そういうわけでこの文書はハイパーテキストの概念そのものを謳っているのではない。この文書の着眼点(上記の部分)に感銘を受けた人たちが「ハイパーテキスト(ハイパーメディア)」を創造したのである。

コンピュータの計算から情報分類・検索への利用範囲の拡大

1946年にENIACができて以来、コンピュータは発展の一途をたどる。
それに伴い、コンピュータは単なる計算機から、情報分類・検索へと利用範囲を拡大していく。

文書がデータ化され、コンピュータに格納されるようになり、そのことによってコンピュータによる情報分類・検索手法の研究が進んだのである。

ハイパーテキストは1960年代に研究が進展したが、その進展に寄与したのがが「テッド・ネルソン」、「ダグラス・エンゲルパート」の2人である。

テッド・ネルソン

「ハイパーテキスト」なる言葉を生み出したのは、テッド・ネルソン氏である。彼は「As We May Think」の論文を偶然目にし感銘を受け、「ハイパーテキスト」の概念を生み出したのである。

テッド・ネルソン氏は成人後の人生をほぼ「ハイパーテキスト」の実現に費やしており、現在もなおその最中である。

テッド・ネルソンが考える「ハイパーテキスト」とは簡単に言うと、

ができる文書である。 トランスクルージョンは文書全体だけではなく、文書の部分的な参照もサポートしている。HTMLだと<blockquote>などで囲み、引用元をリンクするようなものであるが、トランスクルージョンでは引用箇所に元文書自体を取り込む。またそこにリンクが貼られ、そのリンクは引用箇所を正確に示すことができる。HTMLの<a>では、せいぜいアンカー、もしくはIDで位置を示すのみである。さらには引用時に引用元に対して著作権料を支払う機能(マイクロペイメント)も構想に入っていたそうだ。

ザナドゥプロジェクト

テッドネルソンは1960年に「ザナドゥ・プロジェクト」を開始し、「ハイパーテキスト文書管理システム」を構築しようとした。

しかしこの壮大な構想を実現するには、当時のコンピュータのリソースでは貧弱すぎた。また関連している文書のオーナー間の人的な協調が不可欠であったり、実装そのものの困難さ、資金の枯渇等の理由にプロジェクトは停滞し、そのうちWWWが登場して日の目を見る機会を失った。だが57年経過した現在もこのプロジェクトは継続中である。。

57年の間に成果物はいくつか公開されている。今のところ2016年ころからプロジェクトページで公開されている「xanaviewer3」が最新の成果物のようだ。

これはEDL(Edit Decision List)を入力すると、文書が構築され表示されるデモである。

1つ前の「OpenXanadu」では見ることしかできなかったが。

さらに以前の成果物である「XanaduSpace」はテッド・ネルソン氏お気に入りのようで、盛んにデモを行っていたようだ。

UIは構想開始時からほぼ一貫しているようだね。

UIの特徴を列挙すると

である。

XANADOCS

XANADOCSはテッド・ネルソン氏の構想を実現するための文書フォーマットである。が、これもまた未完成のようだ。 XANADOCSは以下のファイル群で構成される。

HTMLでは文書中にリンクなどの属性を指定するが、XANADOCSの場合は元文書には属性は入れず、別ファイルで指定するところが特徴的である。

EDL(Edit Decision List) ファイル

EDL(Edit Decision List) ファイルは、文書を構築するための定義ファイルである。

EDLファイルの例

span: http://hyperland.com/xuCambDemo/WelcXu-D1y,start=25,length=567
span: http://xanadu.com/xanadox/MoeJuste/sources/0-Moe.pscr.txt,start=7995,length=274
span: http://hyperland.com/xuCambDemo/WelcXu-D1y,start=592,length=37
span: http://xanadu.com/xanadox/MoeJuste/sources/2-DarwinDescentOfMan.txt,start=143522,length=213
span: http://hyperland.com/xuCambDemo/WelcXu-D1y,start=630,length=55
span: http://hyperland.com/xuCambDemo/J.Ineffable.txt,start=299,length=343
span: http://hyperland.com/xuCambDemo/WelcXu-D1y,start=687,length=51
span: http://hyperland.com/xuCambDemo/J.Ineffable.txt,start=2879,length=376
span: http://hyperland.com/xuCambDemo/WelcXu-D1y,start=740,length=115
xanalink: http://perma.pub/links/hide_new.xanalink.txt
xanalink: http://hyperland.com/xuCambDemo/rmq41-xanalink.txt
xanalink: http://hyperland.com/xuCambDemo/mexn86-xanalink.txt
xanalink: http://hyperland.com/xuCambDemo/jjq7941-xanalink.txt

span

spanはテキストファイルのURLと、テキスト中の開始位置・終了位置を示したもので、この内容に従ってテキストファイルが取り込まれる。つまりspanを1行づつ取り込んで、文書を読み込み、指定位置からテキストを抜き出して展開することで文書を構成するのである。

xanalinkXANALINKSファイルのURLを記述する。システムはXANALINKSファイルを読み、文書間のリンクを構築する。

XANALINKSファイルは、リンクを構成するためのファイルである。中身はやはりテキストファイルである。

XANALINKSファイルの例:

rmq41-xanalink

# "to a historical piece"

type=typeless

facet=
span: http://hyperland.com/xuCambDemo/WelcXu-D1y,start=301,length=30

facet=
span: http://hyperland.com/xuCambDemo/McKinleyAssassination.txt,start=358,length=108


  # =30=

type

リンクのタイプを指定するものであるが、どのようなものがあるかは文書化されていない。。 サンプル文書で見る限りではHideTransclusions,typelessの2種類があるようだ。HideTransclusionsはトランスクルージョンを隠すもので、メインとなる文書はトランスクルージョンする必要がないため、このtypeを指定するようである。

typelessは通常のリンクのようである。

facet

facetはリンクされる文書のspanを記述する。facetで書かれているspanにしたがって文書間に相互にリンクが設定される。ポイントはリンクが貼られるのは片方向ではなく、複数の文書間で相互に貼られるいう点である。

版管理について

プロジェクトのページを見ても、版管理の仕様については具体的な記述はない。

結局のところ

ザナドウ・プロジェクトは現在もまだ仕様策定中であり、試行錯誤の状態はまだ続くようである。テッド・ネルソン氏が存命中に完成するかというと微妙な気がする。

また、プロジェクトページ自体がテッド・ネルソン氏が嫌うHTMLで構成されているのが、なんとも皮肉な感じでもある。