リンク切れ,DOI,Document ID

国立国会図書館「国の機関サイトの残存率」によれば,2010年の国の機関サイトURLの60%が5年間でなくなっている。

意図的に消されたものは残念としか言いようがないが,それ以外に,サイトのリニューアルと称してURLを変更するサイトがよくある。Webを考案したTim Berners-Leeは,Cool URIs don't change(邦訳:クールなURIは変わらない)を書いて,安易なURL(URI)の変更を戒めている。

消えるページ・変更されるURLの問題への対策として,Internet Archive国立国会図書館インターネット資料収集保存事業のようなアーカイブ事業がある。オンデマンドでアーカイブを保存する民間のサービスもある。

学術界では,論文などの出版元変更などによるリンク切れ問題に対処するため,論文などにDOI(Digital Object Identifier,デジタルオブジェクト識別子)という一意的なIDを付与している。例えば doi:10.2197/ipsjjip.22.566 というDOIの論文を探したければ,頭に http://doi.org/ を付けて http://doi.org/10.2197/ipsjjip.22.566 というURLにアクセスすれば,適切なURLに転送される。

DOIのような仕組みを使えばリンク切れ問題が解決できるかもしれないが,文書にIDを付与するだけでなく,IDとURLとの対応を中央で一律管理するという面倒な作業が必要である。

それならば,文書IDは任意に付けて,URLとの対応は検索エンジンに任せればいいのではないか。そういうアイデアをツイートしたところ,すでにD. J. Bernstein(「djb」)が Document IDs というものを提案していると教えていただいた

djbは

head /dev/urandom | md5     # BSD(Macなど)

または

head /dev/urandom | md5sum  # Linuxなど

でユニークなIDを生成すればよいとしている。私が当初考えたアイデアは,IDを生成する時点でのURLのハッシュ値をIDとするというものであった。例えば http://oku.edu.mie-u.ac.jp/~okumura/misc/170503.html であれば

echo -n 'http://oku.edu.mie-u.ac.jp/~okumura/misc/170503.html' | md5

とすれば 03719fac2f417ee6629ff53e194b95ab というハッシュ値を得る。

いずれにしても,それを

Permanent ID of this document: 03719fac2f417ee6629ff53e194b95ab

という形式で文書中に書いておけば,検索でその文書を探すことができる。文書の内容を改訂してもIDは変更しない。最終更新日を別途付けておけば,同じIDの文書のどれが最新かもわかる。

"Permanent ID of this document:" でGoogle検索してみると,2017年5月3日時点で約3,090件見つかる。最初のものはdjbによる上記の提案である。2番目のものはdjbによる論文を含むEUROCRYPT 2005論文集のGoogle Booksページで,論文の最初のページの脚注に次のように書かれている:

ちなみに,メールにはユニークな Message-ID が自動的に付く。

[2017-05-04] このページを作ったのは昨日だが,もうGoogleで "Permanent ID of this document: 03719fac2f417ee6629ff53e194b95ab" でも単に 03719fac2f417ee6629ff53e194b95ab でも検索できるようになっている。

[2017-05-04] 石田修二先生の調査によれば,三重県・県内29市町のWebページにIDが割り振られているのは四日市市,いなべ市,伊賀市,木曽岬町の4市町だそうである。四日市市は「問い合わせ番号」,いなべ市は「ページ番号」,伊賀市と木曽岬町は「ID」という名前で,いずれも更新日とともに示されている。

[2017-05-06] 言わずもがなであるが,URLをどうしても変更しなければならない際には,古いURLから新しいURLにリダイレクトするのが望ましい。