Metadata attachment tool 工具集
※Excel檔記載的metadata須符合下列格式:
檔案第一列的內容為資料欄位的標頭(header)名稱。 目前系統支援的欄位名稱共有 33 個,分別是

filename(檔名)
corpus(文獻集名稱)
compilation_name(文件出處)
compilation_vol(文件出處的冊數)
title(文件標題)
author(文件作者)
topic(文件主題)
doc_topic_l1(文件主題階層一),
doc_topic_l2(文件主題階層二),
doc_topic_l3(文件主題階層三),
geo_level1(文件地域階層一),
geo_level2(文件地域階層二),
geo_level3(文件地域階層三),
geo(文件地域名稱)
geo_longitude(文件所在地經度)
geo_latitude(文件所在地緯度)
doc_category_l1(文件分類階層一)
doc_category_l2(文件分類階層二)
doc_category_l3(文件分類階層三)
docclass(文件類別)
docclass_aux(文件子類別)
doctype(文件型態)
doctype_aux(文件子型態)
book_code(文件書碼)
time_orig_str(文件出現在文本的時間資訊,字串形式)
time_varchar(文件時間的西元日期,yyyymmdd)
time_norm_year(文件時間的中曆年)
era(文件時間的帝號)
time_norm_kmark(文件時間的年號)
year_for_grouping(文件時間的西元年份)
time_dynasty(文件時間的朝代)
date_not_before(文件在某日期之後的時間)
date_not_after(文件在某日期之前的時間)
date_number(文件的日期)
doc_seq_number(文件的時間順序)
timeseq_not_before(文件起始時間)
timeseq_not_after(文件結束時間)
doc_source(文件的來源)
doc_attachment (文件的貼圖檔名稱,多個圖檔間以英文分號 ';' 區隔)。

上述這 39 個欄位名稱可以直接使用,除此之外皆須在前面加上"metadata/"。
而第一欄會指定這些metadata會對應到哪些文件(DocuXml 底下的 document)。

例如Excel檔內資料為:

filename title metadata/abstract
A001 test1 Hello
A002 test2
B001 test3 -

匯入文字庫XML檔案以及metadata表單後,此工具會找到文字庫中所有filename為A001的document底下title和abstract的標籤(則新增),將其內容設定為test1和Hello。
若excel表單中有內容為空白,代表跳過不處理。例如此工具找到filename為A002的文件後,不會更動此檔案的abstract原本的值。
在文字庫XML檔案中以"-"代表「沒有metadata」,因此想刪去某個metadata的話只要在對應的位置填入"-",例如此工具會將B001文件的Abstract設為"-",代表這份文件沒有Abstract。

預設是以第一欄為索引欄(上面例子中是filename)。若想以其他欄當作索引,可在前方加上#。
例如上面若用#title取代title,則第一列metadata會對應到所有title為test1的文件。

另外,若在第一欄標頭後加上"^="或是"$=",可只對應前綴詞或後綴詞。
例如上面範例若為"filename^=",則此工具會找到所有filename為A001開頭的document;若為"filename^=",會找出所有filename以A001結尾的document。

例如上面範例若為"filename^=",則此工具會找到所有filename為A001開頭的document;若為"filename^=",會找出所有filename以A001結尾的document。

註 (from Chen's thesis): 若多個欄位名稱分別為 tag:1, tag:2, ..., tag:n,此工具會將這些欄位的值串接起來,儲存於 tag 標籤。
此外,若希望某欄的值,可被放在多個標籤中,可在欄位名稱利用逗號區隔標籤來指定(也就是tag,tag,...,tag)。如此,就不需將該欄拷貝成多個 columns。

工具功能擴充記錄:
  • 2018-08-14: 若在欄位名稱前加上 "!",則儲存格中的字串將會以原貌加入 XML(而不會被 escape 處理)。 使用者必須自行負責讓最後的結果是一份 valid XML。
  • 2018-10-24: 若在欄位名稱後加上 ";",則工具會將多個有相同索引(index key)的儲存格內容串連起來(之間用 ";" 銜接)
回上一頁