2018年11月25日日曜日

国立国会図書館件名標目表(NDLSH)を使って蔵書検索をつくってみた。その4


その1 | その2 | その3 | その4 | その5 | その6

【前回までのストーリー】
・国立国会図書館件名標目 タブ区切りテキストファイルをダウンロード
・エクセルで開けるようにする(場合によってはテキストファイルで分割)
・エクセルの関数を使って「同義語」を分割。
・エクセルの関数やコピペ(数値や行列を入れ替えるなども使いながら)によって、件名、同義語、上位語、下位語、関連語を分割。

FileMaker Proによるデータベース作成

 FileMaker Pro(ファイルメーカー プロ)は、ファイルメーカー社によるパソコンのデータベースソフトです。元はApple社から分離して生まれた会社ですが、Windows版、Mac版さらにはクラウド版を販売しています。今回用いたのは、Mac版FileMaker Pro Advance

1.ユニコードに変換(件名標目データベースをFileMakerで開く…その前に)
 FileMaker Proは、CSVやタブ区切りテキスト、Excelのデータをそのままデータベースとして開くことができますが、国立国会図書館からダウンロードした件名表目標のデータはそのままでは文字化けするので、事前にテキストエディタ等を用いてユニコードで保存し直しておきます。

2.ユニコードに変換したタブ区切りテキストをFileMakerで開きます。
 ユニコードに変換したタブ区切りテキストを、FileMakerで開きます。1行目はフィールド名として読み込みます。

表形式

フォーム形式

 これで基本的となるデータベースができました。とっても簡単です。次にここに「同義語」「上位語」「下位語」「関連語」をリレーションテーブルを作りながら組み立てていきます。

3.同義語のリレーションデータを作成
 Excelで作成した同義語のテーブルを読み込みます。
 件名と同義語は、1:多(1:n)の関係なので、同義語テーブルをつくるだけで、リレーションを構築できます。

 a. FileMakerProの[ファイル][管理 ▶︎][データベース…]
 b. [テーブル]にて「同義語」テーブルを作成
 c. [フィールド]にて「件名ID」フィールドと「同義語」フィールドの2つをテキスト作成で作成して、OK。
  (デフォルトでいろいろありますが複雑になるのがいやであれば削除してもよい)
 d. [ファイル][インポート▶︎][ファイル…]で、分割したExcelファイルから同義語を、件名IDと同義語だけを読み込みます。

 
同義語テーブル(表形式)

同義語テーブル(フォーム形式)

 e. FileMaker Proでは、ひとつのデータベースファイルに複数のテーブルを作成し、それぞれにリレーションを設定することができます。同義語は[1:多]なので、この2つでリレーションを組み立てられます。

 f. このリレーションを用いて、件名フォームに、レイアウト編集機能を使って、「同義語」を表示するポータルを表示させると、こんな感じになります。

 開くでできた左側にはひとつのフィールドに3つの同義語が入っていますが、右側に作成したポータルには3つの文字が別々に振り分けられています。


 g. 逆に、同義語フォームに、元になる件名をリレーションで表示させることができます。さきほどの、[1:多][1:n]は、1つの件名に対して多数の同義語、一つの同義語に対して1つの件名という関係になります。

次回は、上位語、下位語、関連語の解説をしますが、こちらは[多:多][n:n]のリレーションになるので、同義語の場合よりもほんの少し複雑になります。






0 件のコメント: