《生物資訊》 生物多樣性資料交換標準DiGIR介紹 吳信輝 前言 生物多樣性資料,主要之目的就是蒐集各類生物其本身的資料, 例如針對台灣雲豹之研究,其資料對象就是台灣雲豹,或是哪一類 之花種分佈,對象就是該類花種,因此我們可以發現:生物多樣性 資料之特性,種類繁多,數量龐大,由於此繁複的特性,所以造成 不同之生物資料的收集方式就有明顯不同。 例如,以動物資料與植物資料來說,生長過程的紀錄之特性與蒐 集方式就有不同,以動物界的候鳥來說,其生長過程之地理分佈, 可以遍佈好幾個國家,而以台灣杉林而言,可能就只需要在固定的 地點做觀測即可,所以記錄到的資料特性也會有明顯性的不同,為 使這一些不同資料庫可以整合,因此有了GBIF這一類組織產生,而 為使不同類型的資料可以有共同溝通的標準,因此有了資料交換標 準出現,本期我們所要介紹的,就是DiGIR標準。 Distributed Generic Information Retrieval(DiGIR) DiGIR從其名稱觀之,即可明顯得到一些資訊:分散性的資料庫, 以屬名為基準之資訊獲取技術,其共同溝通之標準就是利用Darwin Code(【註一】),Darwin Code是一個共通的資料格式標準,它定 義了48個生物資料交集最大後所應該擁有的欄位以及其內容描述, 也就是Matadata(中文稱詮釋性資料,或是後設性資料等等),而 資料對象是誰呢?就是以被紀錄之生物個體為一筆資料,例如:分佈 於淡水河流域的紅樹林,但是這樣又不容易界定生物個體的範圍, 所以目前大部份都是以標本紀錄為資料為主,另一部份則是以觀測 紀錄的資料為主。 從Darwin Code其中的欄位內容分析可以得知Darwin Code主要就 是以生物界中的學名為基準,例如其中的一欄:Scientific Name, 其內容就是記錄學名,其他的欄位包括:界門綱目科屬等生物分類 名、該標本之位置等相關地理資訊資料、該標本的發現者等相關採 集與聯絡資料以及該標本的一些館藏識別資料。這樣概略性的描述 完全符合Matadata的目的:讓我們可以快速的找到這一筆資料,等 到我們找的這一筆資料後,想要再瞭解此筆生物資料的其他相關細 節時,我們可以透過Darwin Code所提供的聯絡相關資訊,進一步的 與資料擁有者聯絡,洽談後續的借閱、查詢相關更深入的資料等等 (詳見【註二】資料)。 DiGIR的目的,其實是要透過開放性的標準,如HTTP與XML等,使 最多的人可以使用,再來是利用鬆散耦合(decouple)的概念,架 構其通訊協定(protocol)、軟體(software)與語意符號(semantic, 或稱辨識符號)等底層標準。另外在安裝上,也希望新的資料提供 者可以更為方便快速的建立其應用程式,接下來我們將說明DiGIR的 架構。 DiGIR的主要架構,如【圖一】所示,有三個部分,分別是Provider、 Portal Engine、Provider Registry,分別說明如下: Provider:   是資料的提供者,資料的所有者,依據使用者的需求,即使用者 以XML格式送過來的Matadata Request,至Database搜尋符合其條 件的資料,再將資料以XML的格式送回。而此部分所提供的資料來 源,主要就是我們一開始所說明的Darwin Code格式的資料,包括 相關的Matadata、分佈以及聯絡資訊。 Portal Engine:   主要是資料搜尋的統一搜尋介面,經由此介面的代理程式,我們 可以在一次的查詢之中,將Request的查詢資料送給不同的Data Provider進行查詢,然後一次得到從不同Data Provider所傳回來 的結果,省去使用者必須分別搜尋各個分散的資料庫的時間。 Provider Registry: 就像是電話的查號台之功能或是黃頁(yellow page)功能,Provider Registry提供一個供Portal Engine查詢是否有相關資料的結果, 例如:我想查詢台灣附近的魚類資料,Portal會先去搜尋Provider Registry中是否有登錄台灣附近魚類的資料,如果有的話,Portal 才會透過HTTP至該資料庫搜尋,可以節省不必要的搜尋時間。 DiGIR的運作流程 以下以TaiBIF中之魚類資料作為OBIS之Data Provider為例說明(詳 見【註三】)。 步驟一:Data Provider首先下載Provider所需要的相關設定程式後, 進行相關的設定,包括針對不同資料庫(例如:mysql, sql server等)的連結設定,資料庫中要提供出來的欄位與Darwin 的對應設定等。設定後,在Data Provider端可以看到我們 相關的設定,畫面如【圖二】所示。 分析其原理,其實就是利用XML將資料轉換成XML格式後, 進行資料交換,其XML格式,其中定義了Data Provider相 關資訊的設定,如【圖三】所示。 步驟二:向Provider Registry註冊,以TaiBIF向OBIS註冊的方式, 目前是以E-mail通知的方式進行,OBIS在進行測試之後, 確認無誤之後,會正式將其放入Provider Registry中。 步驟三:在前兩個步驟完成之後,使用者便可以利用Portal Engine (在OBIS上)查詢TaiBIF所提供的魚類資料。 DiGIR的管理功能分析 在OBIS上所提供的DiGIR的Installation Package與Documentation 上,如【圖四】所示,剛開始是以手動的方式進行Data Provider的 相關設定工作,也就是使用者必須依循其說明手冊的步驟,逐步調 整其硬體、軟體、HTTP伺服器的相關設定工作,同時我們也必須直 接修改欲進行資料交換的XML文件之內容,在所有設定完成後,在 Data Provider端的網頁上,我們可以看到我們以手動方式修改後的 呈現內容,同時該Package也提供了相關的管理功能,讓使用者可以 以UI(User interface)的方式看到相關之設定,如【圖五】所示。 同時我們也可以利用這一個介面新增一個新的Data Provider,如 【圖六】所示。上述提供的兩個方式,皆可以讓使用者快速將其欲 分享的資料透過設定後,分享出去,但是在Provider Registry的部 分,則仍是透過人工的方式進行驗證與除錯,這是目前功能上較為 缺乏之部分。 DiGIR的願景 DiGIR的願景就是希望可以利用Data Provider的機制(DiGIR的願 景架構圖如【圖七】所示),達成資料相互交換的目標,也就是說, 一個Data Provider不一定只能服務Portal Engine而已,相同的資 料可以提供給不同的單位做不同類型之研究,例如:氣象資料是屬 於氣象局所擁有,除了提供氣象局本身的各類資料預測分析外,也 可以提供給其他不同的單位作為基礎之研究資料,例如氣象資料也 可以提供給生物多樣性研究使用,因此,以一個資料擁有者而言, 可以提供其資料給予不同的資料需求單位,進而達到資料共享的目 的,進而達到DataGrid的境界【註四】。 參考資料: 註一:有關於Darwin Code的相關資訊,可以參考中央研究院 http://www.sinica.edu.tw/~metadata/standard/specimen/Darwin-Core.htm 註二:有關DiGIR的相關資訊,可以參閱http://digir.net 註三:The Ocean Biogeographic Information System(OBIS)是 一個蒐集海洋生物資料的機構,其特色為其除了DiGIR的Darwin Code標準外,還加入了OBIS專用的一些地理分佈的Matadata。 詳情可參閱http://www.iobis.org 註四:有關DataGrid的相關資訊,請參閱 http://eu-datagrid.web.cern.ch/eu-datagrid/