第四章 漫畫主題地圖
第二節 漫畫主題地圖實作方法
XTM (XML Topic Maps) 是一種採用 XML 標記語言來定義主題地圖知識呈 現 架 構 的 語 法 規 範 , 已 於 2002 年 被 納 入 ISO 13250 主 題 地 圖 的 標 準 中 [TopicMaps.Org01]。雖然 XTM 規範早已制定完成,但另外兩項配合的相關標準 TMCL (Topic Maps Constraint Language) [Moore05] 與 TMQL (Topic Maps Query Language) [Garshol05] 發展較為緩慢,直至最近才公佈草稿。此外,各種提供編 輯與應用的工具也多屬實驗性質,若直接以 XTM 的格式來建立主題地圖,在新 增與維護的工作上將十分困難。有鑑於此,我們借重資料庫管理系統在增修與維 護上的彈性優勢,以及資料獨立 (Data Independence) 的特性,採用關聯式資料 庫來儲存主題地圖的資訊內容,亦即將主題、關聯與資源指引轉化成資料表的形 式建立,降低了主題地圖建構的複雜性,並讓程式的邏輯結構不因資料結構的變 動而受到影響。
Figure 39 實體關係圖
根據 XTM 規範定義的 19 個標籤,我們從中選出制定漫畫圖鑑主題地圖所 需的功能,將之轉換成如 Figure 39 的實體關係圖 (ER Diagram) 以設計資料庫綱 要,如 Figure 40。在 Figure 39 中,我們以灰色區塊標示出主題地圖最基本的三 個概念—主題、關聯、資源指引。這三種基本元素都有其所屬的類別:主題包括 人、事、地、物四種類別 (Topic Type);關聯包括名產小吃、位於、地方特色、
地方與事件、事件與人物五種類別 (Association Type);而資源指引的類別 (Occurrence Type) 則包含各種與主題相關的文字屬性以及漫畫圖片與照片等資 源。對於各種類別資訊,我們建立專門的資料表來記錄其內容,例如關聯類別裡 的類別名稱和成員角色等。
為了資料庫綱要設計的便利性,我們將主題名稱與資源指引中各種文字屬性 集合在一起用 XML 來表示,形成一組描述主題的 Metadata,存入同一個資料表 欄位,如 Figure 40 的資料庫綱要中,主題資料表 (Topic Table) 的 Metadata 屬性。
這樣做的好處是,對於不同的主題類別,雖然具有許多不同的屬性,但我們可以 用同一個資料表來整合這些異質的 Metadata。因此,無論是人、事、地、物的主 題、漫畫作品本身,或是其他漫畫圖鑑中必須加以編目的物件,都可被記錄在同 一個資料表中。
然而,用 XML 格式來儲存卻會造成存取特定屬性資料的不便,例如主題名 稱也是以 XML 描述,當我們要搜尋某個主題名稱時,必須去儲存 Metadata 的欄 位中搜尋每一筆 XML 資料,從眾多標籤元素裡找出儲存主題名稱的標籤。這種 方法應用在大量資料的處理上,會使得效率與便利性變得很差。幸好,這個問題 可以透過建立索引來解決。在編目時,我們每著錄一筆 Metadata,除了產生一筆 XML 資料並存入資料庫外,同時也會在相對應的索引資料表建立一筆索引,當 資料異動時,索引亦跟著改變,編目流程如 Figure 41。對於所有可能會經常使用 的屬性,我們都為其建立索引,經由搜尋索引資料表,我們可以很快找到相對應 的 Metadata 資料。
N 1
N M
Association
Have
Occurrence
Topic ID Metadata
Association ID
Association Type
Occurrence ID
Occurrence Type
Resource Topic
Figure 40:資料庫綱要
Topic Table UID
Metadata Topic-Type id Remark
Topic-Type Table id
Topic-Type Association-Type Table
id
Association-Type Role-Type-01 Role-Type-02
Association Table Association-Type id Member-01
Member-02
Occurrence-Type Table id
Occurrence-Type
Occurrence Table Occurrence-Type id Topic UID
Resource
Index-of-MainTitle Table Topic UID
KeyValue
Index-of-ISBN Table Topic UID
KeyValue
Index-of-Person Table Topic UID
KeyValue
Index-of-Event Table Topic UID
KeyValue
Index-of-Place Table Topic UID
KeyValue
Index-of-Object Table Topic UID
KeyValue
Figure 41 編目流程圖