基本概念

如果您是第一次使用 Freebase,本節將說明瞭解 Basebase 運作方式的基本術語和概念。

  1. 圖表
  2. 主題
  3. 類型和屬性
  4. 網域和 ID
  5. 複合值類型
  6. 主題 MID
  7. 命名空間、金鑰和主題 ID
  8. 更多房源
  9. 摘要

圖表

Freebase 資料會儲存在名為「圖表」的資料結構中。圖由與邊緣連接的節點組成。在 Freebase 中,節點是透過 /type/object 定義,邊緣則使用 /type/link 定義。將資料儲存為圖表後,Freebase 可以快速掃遍主題,並輕鬆新增結構定義,而無需變更資料結構。

主題

Freebase 有超過 3, 900 萬個主題,包括人物、地點和事物。由於 Freebase 資料以圖表呈現,因此這些主題會對應到圖表中節點。不過,並非所有節點都是主題。如需非主題的節點範例,請參閱 CVT 一節。

以下是 Freebase 找到的主題類型範例:

某些主題會帶來大量資料 (例如舉例來說,「愛」、「貧窮」、「軍隊」等抽象主題沒有多種相關聯的屬性,但經常出現在書籍的主題、詩科、電影主題等主題中,因此較具吸引力。

類型和屬性

任何主題都能在多種不同面向呈現,例如:

  • Bob Dylan 是詞曲創作者、歌手、表演者、書籍作者和電影演員;
  • Leonardo da Vinci 是畫家、雕塑家、原子學家、建築師、工程師...
  • 愛情是書籍主題、電影主題、遊戲主題、詩歌...
  • 每個城市都是一個地點,也許是觀光景點,以及民務人員的雇主。

為了涵蓋多個主題的多螢幕環境,我們將在 Freebase 中介紹「類型」概念。Freebase 中的主題可以獲派多個類型。主題為 Bob Dylan 的主題包括:詞曲創作者類型、作曲者類型、音樂藝人 (歌手) 類型、書籍作者類型等。每種類型都有一組不同的屬性。舉例來說:

  • 音樂藝人類型包含一個屬性,會列出寶巴迪倫產生的所有專輯,以及他已知的所有樂器。
  • 本書作者類型中包含包含所有類型:Bob Dylan 撰寫或編輯過的資源,以及他的想法與行動撰寫學校。
  • 公司類型包含許多公司,可用來刊登公司的創辦人、董事會成員、母公司、部門、員工、產品、逐年收益和利潤記錄等。

因此,可以將類型視為屬性的概念容器,最常用於描述特定的資訊面向。(您可以將類型視為與關聯資料表相似,而每個「類型」表格都包含一個「鍵」表格,在一個不重複的主題中明確定義)。

網域和 ID

就像屬性分成類型一樣,類型本身也會歸類到「網域」。你可以將網域當成個人報紙的版面,例如商務、生活風格、藝術與娛樂、政治、經濟等。每個網域都會有一個 ID (ID),例如

網域 ID 就像檔案路徑或網址中的路徑,

每個類型都會有一個 ID,並根據其所屬的網域進行 ID。舉例來說,「公司」類型隸屬於「企業」網域,ID 就是 /business/company。其他例子包括:

就像類型繼承其網域 ID 的開頭一樣,資源也會沿用所屬 ID 的類型開頭。舉例來說,「公司」的「產業」屬性 (用於指定公司所屬的產業) 為「/business/company/industry」這個 ID。其他例子包括:

因此,即使免費類型未分配給 Freebase 的階層,網域、類型和屬性會按照概念排列在檔案目錄階層中排列。

複合值類型

複合值類型是 Freebase 中的類型,用來代表每個項目包含多個欄位的資料。Freebase 會使用複合值類型 (CVT),用於代表複雜的資料。一開始可能不太清楚,但 CVT 是 Freebase 結構定義中相當重要的一環,因此能更準確地模擬不同主題的複雜關係。

想想以下範例:城市的變化會隨時間變化。也就是說,當您查詢人口族群的 Freebase 時,您至少是在特定日期要求使用人口數。兩個值包括幾個人物和日期。在此情況下,CVT 會變得非常實用。如果沒有這個模型,就必須建立主題並命名為「1997 年溫哥華人口」,然後在其中提交相關資訊。

CVT 可視為主題,不需要顯示名稱。CVT 與一般主題一樣,有一個 GUID 可獨立參照。不過,Freebase 用戶端的處理方式與主題不同。多數情況下,CVT 的每個屬性都應造成混淆。

主題 MID

雖然主題可能是由命名空間/金鑰 ID 識別,但也可能由 MID 識別,也就是內含 ID 的 /m/ 是機器 ID,後面接著 Base-32 專屬 ID。系統會在建立時將 MID 指派給主題,並在整個主題的生命週期內進行管理。主題在合併或分割時扮演出重要的角色,可讓外部應用程式追蹤實體主題,即使實體的 Freebase 身分 (主題的 GUID) 可能會有變動。機器產生的 ID 不同於其他人類可讀的 Freebase ID (由「id」屬性傳回),如下所示:

  • 保證存在
  • 機器產生
  • 支援離線比較
  • 並非用於向人表達意義
  • 短 (可能長度固定)
  • 適合快速交換外部系統和元件 (外部、交換) 的金鑰

MID 是推薦 ID,可用來處理 Freebase 中的主題

命名空間、金鑰和主題 ID

檔案目錄類似網域、類型和屬性 ID 的階層,只是一個通用概念:命名空間。命名空間與檔案目錄相似,金鑰則類似檔案名稱。因此,特定檔案目錄中的所有檔案名稱不得重複,但特定命名空間中的所有金鑰也不得重複。

具體來說,/business 是對應於 Business 網域的命名空間。系統會在表格內提供業務相關類型company)。每個類型的 ID 都會附加在命名空間的 ID 中 (例如/business/company)。

命名空間外還有幾種與網域和類型對應的命名空間。最重要的是最常出現的 /en 命名空間。此為已知最廣為主題的英文命名空間,因為這類實體可以採用專屬金鑰,產生使用者可理解的英文 ID。舉例來說,不知名的 Bob Dylan 以 Freebase 做為主題,在 /en 命名空間有 bob_dylan 這個鍵,因此主題的 ID 為 /en/bob_dylan。這個 ID 可讓您透過簡單網址存取網路用戶端中的主題

更多房源資訊

最後一項討論的概念是 Freebase 屬性與關聯資料庫技術的類比為主,也就是關聯資料表欄。每一列的關聯表格欄只能含有一個值。舉例來說,假設有一個一般的「book」關聯資料表,名為「author」欄。「book」表格中每列的「author」欄只能有一個「author」表格的外鍵。如果書籍有多位作者,這項簡單的關聯結構定義設計就會無法運作,我們也需要建立一個新的作者專用的表格。因此,您需要一張「書籍」表格、一個「作者」表格和一個「作者」表格,以儲存書籍和作者之間的 n-n-n 關係。而且,從一種結構定義設計切換至另一種結構定義時,資料擷取方式的變得大幅變更。

不同於傳統資料庫技術,Freebase 會將多值屬性視為有利於建構實際資料,且其預設支援多值屬性。這表示在建立 /book/written_work/author 屬性時,系統會假設每本書允許多位作者,這時你就能以相同的方式查詢多值屬性和單一值屬性。您不需要思考是否需要加入第三個資料表,用來建立 N 至 n 的關係。

摘要

  • 類型是相關屬性的概念容器,用於描述主題的特定部分。
  • 可以指定一或多個類型 (預設類型為 /common/topic)
  • 屬性分為類型時,會將類型分成不同的網域。
  • 網域、類型和屬性會以命名空間/鍵階層命名。
  • 常見知名主題則會在 /en 命名空間中指定 ID,也就是使用者可理解的英文字串。
  • 在 Freebase 中,主題是以 GUID 識別。
  • 根據預設,屬性為多值屬性,而且您可透過單一方式查詢多值屬性和單一值屬性。