資源描述框架 (Resource Description Framework, RDF) 是一系列 W3 規范標準,主要支持數據和元數據的交換。憑借 IBM DB2 10 for Linux, UNIX, and Windows Enterprise Server Edition,應用程序可以存儲和查詢 RDF 數據。
本將引導您完成構建和維護樣例 rdf 應用程序的所有步驟。在此過程中,您將通過實際操作學習如何結合 rdf 技術使用 db2 軟件。
本教程是由三部分組成的系列文章的第一部分,讓您在實際操作中體驗 DB2 for Linux, UNIX, and Windows 軟件和資源描述框架 (RDF) 技術的使用。本教程介紹一個 RDF 應用程序的示范用例,并引導您完成構建和維護這個應用程序的以下步驟:
- 創建一個 RDF 存儲
- 在其中插入數據
- 查詢數據
- 更新數據
- 維護存儲,以確保良好的查詢性能所需的統計數字是最新的
本教程還包括遷移到 DB2 軟件的說明。
第 2 部分將介紹更多高級主題,如訪問控制和優化存儲。第 3 部分將介紹如何使用特定 SPARQL 的特性,如 DESCRIBE、CONSTRUCT 等各種查詢表單,以及圖表的聯合。
示例應用程序開發用例
本教程使用一個虛構示例,其中有名為 XYZ 的公司,該公司擁有多個組織。分支機構地點跨多個地區,因此該公司必須遵從每個地區的法規。每個組織本身運行幾個項目,每個項目都需要熟練的技術人員和各種資源。所有 XYZ 員工均由單個 HR 系統管理。根據業務需要和員工的興趣,員工可以在一個組織內跨項目調動,甚至調動到另一個組織。每個組織獨立管理其項目和財政。
XYZ 所面臨的重大挑戰是,遵從法律法規和為即將開展的項目配置專門技能的人才。對于大部分這些新項目來說,XYZ 中都有可用資源,但難以獲得所有必要數據,因為數據位于多個系統。今天,各系統必須遵循一種模式:登錄到一個系統收集一些信息,然后登錄到另一個系統使用來自第一個系統的信息,并獲得下一條信息。為了更有效地收集信息,XYZ 決定建立一個新的系統:Staffing System。假設您的工作就是要構建這一系統。
新的?Staffing System 的需求
Staffing System 必須與以下其他系統交互,以滿足對信息的要求:
- Org System:該系統維護有關該公司組織的所有詳細信息。這些詳細信息包括組織的名稱、組織負責人的姓名、組織中的員工人數,以及財務信息。該系統生成惟一的組織 ID,供其他系統引用。
- Projects System:該系統維護有關該公司已完成或正在執行的每個項目的詳細信息。這些詳細信息包括參加項目的員工的姓名、項目經理的姓名、計費詳細信息,以及項目歸屬的組織的名稱。該系統生成惟一的項目 ID,供其他系統引用。
- HR System:該系統維護公司員工的詳細信息。這些詳細信息包括員工的姓名、員工的地址、員工參加的項目,以及任何工作許可證的引用。該系統生成惟一的員工 ID,供其他系統引用。
- Legal System:該系統維護公司必須獲得的法律批文。它也維護由政府機構頒發的文檔 ID 的引用。
新的系統必須能夠滿足公司的以下需求:
- 當一個新的項目啟動時,項目經理必須能夠為新項目找到具備所需技能的可用工作人員。
- 根據項目的位置、工作人員和軟件等其他資源,系統必須能夠找到項目的法律批文。
- 項目經理必須能夠考慮員工在特定技術領域中工作的興趣,以及是否具備合資格的技能。
- 今天,Staffing System 必須集成的只是前面所指定的四個系統,但該公司預計,Staffing System 在未來必須與其他系統集成。新系統的添加應該是無縫的,不得影響現有系統。
- 每個現有系統必須能夠獨立地執行其他修訂、數據架構的變更或接口變更,而不需要考慮與新的 Staffing System 的兼容性。同樣,Staffing System 不應該受到對這些現有系統的內部變更的影響。
現有的四個系統彼此隔離,但所維護的信息是互聯的。每個系統所生成的惟一標識符用于標識一些實體,但它們與其他系統中的其他實體之間的關系不能在同一個地方都可用。這導致了在這些現有系統之間的多個躍點。該公司希望利用 Staffing System 簡單而有效地導航在不同系統中的各實體之間的關系。
為了解決這個問題,您需要一個數據存儲,用于存儲在每個系統中生成的標識符,并存儲有關它們的關系的信息。因為在未來可能需要與其他系統的接口,該數據存儲的性質必須是通用的。RDF 提供了一個可以滿足這些要求的理想數據存儲。RDF 數據存儲并沒有固定的架構。您不必了解數據架構就可以使用 SPARQL 查詢語言來查詢數據。這就是通常被稱為鏈接數據 的架構。新的 Staffing System 系統將采用這種架構。
下表描述了每個系統將用于惟一地標識其實體的 URI 結構。
表 1. URI 結構
指 XYZ 公司 | |
指 XYZ 公司中的 HR 組織 | |
XYZ 公司的員工 | |
XYZ 公司的經理 | |
一個 XYZ 項目 | |
一個 XYZ 產品 | |
項目負責人 | |
團隊成員 | |
項目的 QA | |
XYZ 公司中一個項目的信息開發人員 | |
使用某軟件的批文 ID | |
員工等的政府法律批文 |