日本における『百科全書』パリ版デジタルアーカイブ共同研究の現状 データベースの構築 慶應義塾大学 DMC機構専任講師 大久保 成 1 まずは現物をご覧ください http://kdde.dmc.keio.ac.jp/index.htm l 2 従来のアーカイブ系コンテンツの 特徴 • 独自型 – 電子辞書など – データとインターフェースが一体化 – コンテンツごとの独自性を発揮させやすい – 他形態への応用が難しい • 汎用型 – 図書館システムなど – データは分野を超えて収蔵可能だが、インタ ーフェースが貧弱 3 最近の傾向 • 「収蔵庫」と「展示場」の分離 – ウェブコンテンツのデータベース化 – 汎用的なデータを格納しつつ、個別の インタフェースを用意 – データベース部分は汎用性を高める – インターフェース部分は個別性を高め る 4 KDDEの基本システム • データベース部分 – PostgreSQL – PHP – UTF-8 • インターフェース部分 – Logosware社のFlipperを利用 – Macromedia(現Adobe社)Flashの応用 5 Flipper部分の作成 • DMC機構の貴重書撮影技術を 活用 – RAWデータで撮影 – 14.6MB(4922×3328 pixel) • JPEGに変換後、Flipperへ取り 込み 6 データベース構築にあたり • PostgreSQLを活用 – フリー(無料) – 多言語処理が得意 • IT業界での「国際化」というのは「日本語 化」程度の意味しか持たないことが多いが、 PostgreSQLは真の意味でのマルチリンガ ルな仕様になっている(複数の文字セット を任意に変換可能な仕様) • ただし、Unicode上のギリシア文字とShiftJIS上のギリシア文字(全角)は違う文字で 扱われるなど、文字コードに対する一定の 理解は必要 7 データベース構築にあたり • データベースの基礎的考え方 – テーブル=エクセルの表 – レコード=エクセルの行 – フィールド=エクセルの列 • 「ひとつのセル」に「ひとつの情 報」 8 「ひとつの情報」とは? • e.g.「49a-53b」 – 「49ページ」の「左段落」から「始まり」、「53ペ ージ」の「右段落」で「終わる」 – 6つの情報 • e.g.「101a」 – 「101ページ」の「左段落」から「始まり」、「10 1ページ」の「右段落」で「終わる」 • 「見た目がひとつの情報」であって も、複数の情報を含有している • 構造を明らかにしないといけない • SQLでいうところの「第2正規化」 9 どこまで分割するか? • 細かく分ければよいか? – →NO – どのレベルで検索をかけたいかによる – 機械的には決められない – 「ART DES ESPRITS, ou ART ANGÉLIQUE 」で「 ART ANGÉLIQUE 」が単独で検索される必 要がある場合は、「別名フィールド」な どを作り、検索の対象とする 10 どこまで分割するか? • e.g.「*ARCHANGEL 」 • 2つの情報が含まれている – 「*」:ディドロが執筆した – 「ARCHANGEL」という項目 • 「DIDEROT」というフィールドを作り、 「*」が付いた項目にフラグを立て た – 検索すると以下のような順序で処理される – 「前方一致で検索」→「DIDEROTフィールドが OnかOffか?」→「Onの場合、*+項目名で 表示」 – 研究者からみて違和感のないようなインター 11 フェースの工夫が必要 どこまでを「同じ内容」とするか • 「包摂」という問題 – 「Géog. 」と「Géogr.」は同じか否か? – SQLでいうところの第一正規化 • 今回は「分類項目(現代表記)」で のみ検索可能にした – 「Géographie」のみが検索語に指定可能 – 「品詞と性」については 今回は正規化を見送 り • 「adj.「adject.」「adjectif」はそれぞれ別の項 目として検索される 12 今後の課題 • メニューなどの多言語化 – トップページのみ日英仏から選択可能 • 正規化 – 入力ルールの整理と徹底化 • ユーザ管理 – 誰でも修正可能な状態 • ウェブ上での研究コミュニティ つくり 13 (参考)フィールド一覧(basic) フィールド名 フィールド形式 内容 des03 text 分類項目(現代表記) id text レコードID des04 text 分類項目(現代表記) entry text 項目名 des05 text 分類項目(現代表記) diderot charactervarying(1) 「ディドロマーク」 des06 Text 分類項目(現代表記) tome charactervarying(2) 巻数 des07 Text 分類項目(現代表記) stpage text 開始ページ des08 Text 分類項目(現代表記) stcol text 開始ページの段落 des09 text 分類項目(現代表記) edpage text 終了ページ des10 text 分類項目(現代表記) edcol text 終了ページの段落 des11 text 分類項目(現代表記) genre text 性と名 des12 text 分類項目(現代表記) des_ori text 分類項目(オリジナル表記) length text 長さ des00 text 分類項目(現代表記) attrib text 執筆者同定 des01 text 分類項目(現代表記) schwab text Schwab番号 des02 text 分類項目(現代表記) ts timestampwithouttimezone レコードのタイムスタンプ (参考)フィールド一覧(flipper) フィールド名 フィールド形式 内容 stpage text 開始ページ flipper integer Flipperにおけるページ数(第一巻の場合、実物の1ページはFlipperでは72ページ) dir text Flipperを呼び出すためのファイルのディレクトリ名とファイル名 ts timestamp レコードのタイムスタンプ (参考)ページ遷移(ユーザから見える範囲のみ) index.html search.php list.php トップページ 検索語入力 結果一覧 (別ウィンドウで開く) allinfo.php book115.php 項目のメタデータ Flipperの呼出 update_list.php 修正用ページ (参考)ファイル一覧(ルートディレクトリ) allinfo.php 指定項目の全メタデータ表示 attrib.php 執筆者同定一覧を生成(search.phpで利用) common.css 表示ページに共通のデザインをCSSで指定 des_nor.php 分類項目(現代表記)一覧を生成(search.phpで利用) genre.php 性・名の一覧を生成(search.phpで利用) img 【ディレクトリ】ページに共通の画像部品を格納 index.html トップページ kdde1_flipper 【ディレクトリ】Flipperデータを格納 language.php 表示言語の対訳一覧 length.php 長さの一覧生成(search.phpで利用) list.php 検索結果表示 MYDB.php データベース接続のための共通部品 search.php 検索ページ stpage.php 開始ページ一覧を生成(ローマ数字なども含まれるため、処理が必要) tome.php 巻数一覧を生成 update.php 修正用の命令をデータベースに送信(update_list.phpから呼出) update_list.php 修正用ページ
© Copyright 2024 ExpyDoc