本文主要基于農業經濟數據倉庫的建設,提出一個面向網絡數據獲取、數據多格式存儲的方案。農業經濟分析問題的確定對應著分析主題的確定,而分析框架對應著數據倉庫的建立,分析的過程對應著多維分析與數據挖掘。而處于中間部分的對信息的獲取與加工,本身包含對信息結構的處理、語義的賦予、內容的清洗這一系列過程。
為了實現這些目標,本文將從HTML中獲取的農產品價格信息的以三種方式存儲,分別是關系數據庫、XML統一數據存儲格式、以及RDF語義存儲。
通過三種存儲方式的比較,以及結合分析系統信息獲取處理的過程,可以發現,關系數據庫是對于數據的結構化存儲,XML進一步的賦予層次及信息自描述,而RDF對于信息賦予了語義。
關系數據庫存儲優點是效率高,技術成熟,缺點是與由于與數據庫管理系統(DBMS)綁定,造成數據存儲格式無法統一,無法進行數據交換,也無法對信息賦予語義。
XML存儲的優點是其已經是Web數據交換的標準,使用范圍廣,并賦予數據層次語義,可以與數據倉庫中的維度信息很好的結合。但是由于其語義功能不完整,造成數據查詢時必須了解其完整的結構,并且造成語義不統一現象的產生。
RDF存儲的優點是其描述了信息的語義關系,使得可以與數據倉庫中的語義相結合,通過語義查詢直接為數據倉庫中的事實表、維度表提供滿足語義的數據,而不用考慮具體的存儲結構。但是相對于XML,RDF對于人類而言的可讀性較差。
為了進一步說明三種層次模式的特點,假設需要實現下面的分析目標分別從關系數據庫、XML、RDF中獲取數據以實現分析。
(1)關系數據庫
三種存儲模式中,關系數據庫是最為基本也是目前使用最多的方式,其優點是直接可以與后期的數據倉庫(同樣是建立在關系數據庫基礎上)相連接,甚至于直接寫入數據倉庫中,而不經過數據緩沖。
(2) XML存儲
在XML中為了獲取例中需要的信息,可以利用XQuery對分析所需的信息進行查詢,但是在查詢前必須了解XML的層次結構。
XML存儲的數據關鍵特性之一,是它賦予了數據層次性結構,例如根據保存地理數據XML所生成的樹狀圖,與我們在數據倉庫設計中對于地理維度的層次設計表達相同,實際上,很多的數據倉庫系統對于層次的表達直接建立在XML的基礎上,而利用XML的特性,可以實現數據倉庫中維度表對于XML文件的直接利用。
(3)RDF語義存儲
XML所存在的問題是因為XML不具備語義描述能力。為了解決這一點,信息可以用RDF進行保存。“資源描述框架(Resource Description Framework,縮寫RDF)是萬維網聯盟(W3C)提出的一組標記語言的技術標準,以便更為豐富地描述和表達網絡資源的內容與結構。RDF標準最初設計的目的是描述Web上的資源、內容和關系。但是RDF現在變成了用于描述一般信息、資源和關系的標準。語義Web和網格技術都需要定義資源及其之間的關系,使應用程序能夠使用不同的信息,并且可以把數據捆綁在一起。”
一旦分析所需信息的對應語義模式確定,通過SPARQL從RDF存儲中查詢所需的數據就很簡單。
PREFIX agri:
由于將分析語句轉換為對應的三元組關系,對RDF中存儲信息的查詢比較關系數據庫與XML要直觀的多,更有利于數據存儲與分析程序進行直接的結合。
通過各種數據存儲方式的優缺點分析,可以根據實際的情況在中間存儲層中結合使用。例如,當數據源的信息語義關系簡單,分析系統未來面向的數據庫關系系統不會改變時,可以采用關系數據庫作為中間存儲層的存儲方式。當分析系統面向不同廠商的數據倉庫系統,或者面向不同的應用,那么XML是最好的選擇。當希望實現數據倉庫對于信息的語義查詢,并且信息語義復雜,并且分析系統需要一個統一的語義信息源時,應該考慮RDF。