地圖書知識庫使用嚮導(三):創建知識庫

本章節擁有一個配套的示例知識庫,歡迎訪問《結構化知識庫教程示例:文學作品管理》(https://www.ditushu.com/book/375/)查看全部示例數據和結構圖。

結構化數據庫

如果你是缺乏技術背景的人文社科專業用戶,可能首先需要了解一個概念:什麼是結構化知識數據庫?如果你已經具備相關知識,可以跳過這一部分。

Excel 是人文社科用戶最常用的數據管理軟件,它主要使用電子表格的形式管理數據。表格是一種久遠且常見的數據管理形式。以管理詩詞數據爲例,通常我們需要設置多個填寫同一類型數據的列,如編號、作品名稱、作者名稱、朝代、時間、地點、標籤等,然後再按行填寫數據。下面是一個示例數據表:

A

B

C

D

E

F

1

編號

名稱

作者

時間

地點

2

1

俠客行

李白

731

西安

3

2

蜀相

杜甫

760

詩,諸葛亮,武侯祠

4

3

茅屋爲秋風所破歌

杜甫

761

詩,杜甫草堂

5

4

望嶽

杜甫

736

泰安

詩,泰山

6

5

念奴嬌·赤壁懷古

蘇軾

1082

黃岡

詞,赤壁之戰

一個表由多個具有順序,具有名稱的列組成(也可以叫做字段或者鍵),列通常有不同的數據類型,如數字、文字、年份、時間等。作品編號通常放在最前面,它是唯一且不重複的,用來根據編號查找具體的作品條目,那麼這個編號就是表格的主列(也可以叫做主字段或者主鍵)。那麼這些列信息,如列的編號、名稱、數據類型、是否爲主列等,就是表格的結構。表格的結構也可以用一個表格來表示:

編號

名稱

類型

是否主列

A

編號

數字

B

名稱

字符

C

作者

字符

D

時間

年份

E

地點

字符

F

字符

使用 Excel 管理數據非常方便,但它有一個缺點,就是表格內通常存在大量的重複信息。如相同的作者、地點、標籤等,如果還要管理作者的出生日期、死亡日期、地點的今名、古名和座標等則更爲麻煩,出現更多重複信息。而且數據的類型往往不規範,比如時間,有些填年,有些填年月日,標籤有些用逗號分隔,有些用空格分隔等。

爲了解決這一問題,還有一個辦法就是把一個表格拆分成多個互相關聯的表格,如把上面這個表拆分成作者、地點、標籤和作品四個表,並管理更多信息。其結構如下:

表名稱

字段名稱

字段類型

是否主鍵

是否唯一

關聯到

作者

編號

數字

姓名

字符

出生

數字

死亡

數字

地點

編號

數字

名稱

字符

行政區劃

數字

座標

編號

數字

名稱

字符

作品

編號

數字

名稱

字符

作者

一對多關係

作者表

時間

數字

地點

一對多關係

地點表

多對多關係

標籤表

由多個結構明確互相關聯的表組成的一套數據,就是一個關係型結構化數據庫了。

這裡需要理解一個非常重要的概念,就是關係字段類型,通常有“一對多關係”和“多對多關係”。作品表的作者和地點字段,就是一對多關係,表示一個作者或者一個地點,可以擁有多個相關聯的作品,但一個作品卻只有一個作者和一個地點。分類標籤是多對多關係,表示一個一個標籤可擁有多個相關聯的作品,而一個作品也可以擁有多個相關聯的標籤。作品表裡的作者和地點,將只填寫作者和地點表中,對應數據條目的主鍵,也就是編號。

爲了減少使用編號關聯數據的難度,數據庫系統支持自動生成編號,避免用戶手動編號。

結構化數據庫中各數據表的關係,也可以用一個關係圖來表示。

作品表、作者表和標籤表的數據如下:

作者表

編號

姓名

出生

死亡

1

李白

701

762

2

杜甫

712

770

3

蘇軾

1037

1101

地點表

編號

城市

行政區劃

座標

1

西安

108.95,34.26

2

104.06,30.65

3

泰安

117.08,36.20

4

黃岡

114.87,30.45

標籤表

編號

名稱

1

2

3

諸葛亮

4

武侯祠

5

杜甫草堂

6

泰山

7

赤壁之戰

那麼作品表的實際數據就變成下表這樣,這裡作者、地點、標籤都用編號表示:

編號

名稱

作者

時間

地點

分類標籤

1

俠客行

1

731

1

1

2

蜀相

2

760

2

1、3、4

3

茅屋爲秋風所破歌

2

761

2

1、5

4

望嶽

2

736

3

1、6

5

念奴嬌·赤壁懷古

3

1082

4

2、7

這個新的作品表看起來似乎不太好理解了?不用怕,數據庫管理軟件在實際顯示時,則會根據這些編號查找相應信息,自動變成原來的樣子,類似於我們日常生活中,經常會填寫身份證號和手機號碼作爲唯一標識,然後信息系統就可以通過這些標識自動查找個人信息一樣。

我們知道 Excel 的表其實是沒有強制要求你必須設計表結構的。你是否設置列頭,第一行是列頭還是標題,每一格是否按數據格式填寫等,默認都沒有限制。很多時候爲了方便打印,還需要在末尾添加一些總計信息,導致它的數據非常不規範,更不方便多人一起填寫大量數據。

而使用關係型數據庫管理數據有幾個好處:數據庫要求必須先建立規範的結構,並強制檢查輸入是否符合結構要求;數據庫關係明確,消除單一表中大量冗餘重複數據,還可以進行復雜查詢;數據庫非常方便多人協作。

當然,Excel 其實也支持多表之間的關聯,而數據庫的知識則比上面的介紹要複雜得多,它支撐了我們世界龐大的信息化產業。不過人文用戶只需要明白一些基本概念即可,地圖書知識庫已經爲你大大簡化了複雜操作。爲了保證簡單易用,我們也沒有提供過於複雜的數據庫功能。

有了這些基礎知識,就可以開始創建屬於你自己的知識庫了。

模板創建

手動創建數據庫需要學習數據庫基礎知識,這對於沒有技術背景的用戶往往是困難的。爲了方便用戶使用,地圖書知識庫支持通過模板創建知識庫。

雖然不同項目的具體應用場景各不相同,但很多應用場景是類似的,比如管理地理標註,管理老照片等。爲此地圖書知識庫爲用戶提供了數個基礎模板,用戶可以通過模板快速創建屬於自己的知識庫。用戶需要先註冊賬號並登錄,在頂部“協作”菜單中,點擊“我創建的”,找到自己創建的知識庫。點擊右上角的“創建新的知識庫”,輸入知識庫名稱,根據模板介紹和示例選擇模板,點擊“創建”即可。

不過這裡的模板較少,你可以在地圖書平臺中,點擊頂部的“知識庫”菜單,任意瀏覽公開發布的知識庫,尋找和自己需求接近的知識庫。在知識庫發佈頁頂端,有一個“更多”按鈕,點擊後選擇“作爲模板新建知識庫”就可以通過模板創建了。

如果沒有找到適合你的模板,或者一個模板並不完全符合自己的要求怎麼辦?這個時候你可以通過手動創建,或者先通過模板複製創建,再手動修改已有結構,以滿足自己的使用要求。

完全手動創建一個知識庫的步驟和通過模板創建類似,只不過在選擇模板時,直接選擇“空白知識庫”,輸入知識庫名稱,點擊“創建” 即可。

創建完成後會自動跳轉打開新創建的知識庫。系統會提示你“地圖書必須創建表結構才能夠正常使用”。此時只需要點擊下方的“創建”按鈕,會自動跳轉到“知識庫設置/數據/數據表”。點擊下方的“新建”按鈕就可以創建一個數據表。

在手動創建前,建議認真規劃數據表結構。如果你還不具備相關知識,建議先閱讀學習“創建知識庫 / 結構化數據庫”章節。數據表設置頁面右側提供了一個示例數據庫結構。

表名

表ID

字段名稱

字段ID

字段類型

關聯到

zhou

名稱

title

字符

jun

名稱

title

字符

所屬州

zhou

一對多關聯

xian

名稱

title

字符

所屬郡

jun

一對多關聯

縣址

geometry

通過這個示例,可以引導用戶創建一個管理州郡縣三級行政區劃結構的歷史行政區劃數據庫。用戶需要點擊“新建”,在彈出框的表名稱中輸入“州”,系統會根據輸入的漢字名稱,自動生成對應的拼音作爲表 ID,點擊“新建”按鈕,完成“州”表的創建。創建完成後,右側會自動跳轉到“字段設置”界面,進一步完成字段設置。系統默認會爲你創建一個 ID 爲“title”,名稱爲“標題”的字符類型必填字段。

接着採用相同的步驟創建“郡”表。成功創建完成後,“郡”表也有一個名爲“標題”的字段。然後點擊右側的“新建”按鈕,在彈出框中,在“字段名稱”中輸入“所屬州”,系統會自動生成拼音字段 ID。然後在“字段類型”選擇輸入框中,選擇“關聯 / 一對多關聯”。然後在新增加的“關聯的表”選擇輸入框中,選擇“州”,點擊“新建”即可完成“郡”表的創建。

最後採用相同的步驟創建“縣”表,爲這個表添加一個關聯到“郡”的一對多字段。然後再新建一個名稱爲“縣址”,類型爲“地理元素/點”的字段,這個數據庫就創建完成了。

創建完成後,還需要點擊左側的“保存表結構”才能生效。點擊後系統會更新表結構,並跳轉到數據表頁面,此時你就可以點擊數據表查看和新建數據了。

文檔原文:

https://www.ditushu.com/help/guide/82315481