薛影
(鄭州大學第三附屬醫院, 河南 鄭州 450000)
書目數據庫是信息社會的基本工具。研究人員、學生、專業人士和其他人使用書目數據庫來查找與其工作或興趣相關的文獻。對圖書管理員來說,書目數據庫提供了存儲出版物的書目數據、圖書位置和圖書館運作所需的其他事實的方法。各種政策制訂者也使用書目數據庫來監測科學的發展。隨著信息技術的不斷發展,信息網絡無處不在。網絡可以是同構網絡,也可以是異構網絡。同構網絡包括單一對象類型和單一邊緣類型,如朋友網絡、作者網絡和電影網絡;異構網絡由多個節點和邊緣類型組成,例如,作者-論文網絡是一個異構網絡,它有兩種類型的節點(作者和論文)和三種類型的邊(作者和論文之間的著作關系,作者和作者之間的合著關系以及同一位作者的論文之間的關系)。網絡也可以是具有多個節點屬性和邊屬性的多維網絡。以圖書館書目數據為例,在許多領域,書目數據庫是存儲了出版物名稱、作者和年份等信息的集合。分析書目數據的方法有很多種(統計學[1]、數據挖掘[2]、圖論[3]、OLAP分析[4]等),以實現文獻計量學的不同目標(關系研究、排名、社區挖掘等)。在這些不同類型的分析中,OLAP分析(在線分析處理)為數據導航提供了靈活性,可以從不同的角度和不同的粒度級別對數據進行匯總。
傳統的OLAP在結構化數據方面做得很好[5],但是在處理網絡數據方面面臨挑戰,基于此,提出了基于圖結構的OLAP,即Graph OLAP,將OLAP技術引入到復雜網絡分析中,創建了一個多維和多層視圖的多維數據集圖形。然而遺憾的是,對象之間的交互作用仍然是的隱藏,并且維度變化緩慢的問題并未得到考慮。例如,作者Y. Sun在東北大學發表了一篇論文,然后他在伊利諾伊大學發表了另一篇論文,有兩本關于Y. Sun的出版物,每所大學一份。但是在作者網絡中,如果用戶為了查看機構網絡而進行OLAP操作,例如上卷,則這兩篇論文都將同時計入兩所大學,這是一個錯誤的答案。在這種情況下,網絡數據是不可匯總的,如果不訪問原始數據,則不能僅從較低級別的網絡中計算出較高級別的網絡。因此,OLAP必須適應通過同時考慮數據對象和對象之間的交互來提供網絡數據。為了在網絡的OLAP分析中考慮關聯數據,分析根據書目數據構建的各種網絡,本研究利用圖論的性質,提出了圖書館書目網絡的概念圖模型,它的內容來自多個書目數據庫,因此可以構建多個不同的網絡,如共同作者、作者機構等,概念模型易于映射以支持各種用例。
為了同時考慮節點和邊,使OLAP適應多維網絡,提出了多維數據集圖形。每個節點或邊由OLAP多維數據集加權,它允許用戶通過查看圖表,快速分析已匯總為多維數據集的信息,同時支持Graph OLAP操作(例如信息和拓撲操作[6]),解決了維度變化緩慢的問題。本研究在真實的數據集上進行了評估,并提供示例來說明如何使用提出的方法來分析數據。
分析圖書館書目數據存在不同類型的設計。第一個是基于實體關系圖的模型;第二個是基于數據倉庫使用的經典多維模型。這些模型使用關系數據庫來存儲書目數據,因此,它們處理邊緣的能力很差,進行復雜的查詢并不容易,因為必須添加多個連接操作來響應用戶的查詢。此外,傳統的OLAP分析不能在圖上完成。
Graph OLAP的概念最早是由J.Han的團隊提出的。Chen等人[7]提出了信息網絡上OLAP的基本定義,并介紹了Graph OLAP的框架,他們提供了一個立方體圖形,其中每個單元格都存儲一個網絡而不是一個數值。使用兩種OLAP操作定義了兩種OLAP維度(信息維度和拓撲維度)。第一個操作是信息OLAP,例如,在作者-論文網絡中,地點和時間是兩個信息屬性,它們被用作信息維度;第二個操作是拓撲OLAP,作者網絡可以通過將同一機構的所有作者合并為一個節點,并在機構層級構建一個新的圖來進行概括。Chen等人并沒有提及如何設計異構網絡的模型。因此,Yin等人通過定義實體維度以支持異構網絡的兩個維度來解決此問題[8]。有兩種新的實體維操作:旋轉和拉伸,它們能夠挖掘不同節點之間的邊緣。Wang等人[9]分析和評估了國家圖書館發布的關聯數據集,在現有質量評估指標體系的基礎上構建針對關聯書目數據的質量評估框架和指標,通過人工調研、自動統計和分析方法對關聯數據集的RDF詞匯、URI有效性等7個指標進行統計和分析。Cheng等人[10]以高校圖書館館藏借閱數據為例,從書刊借閱和續借兩個方面,利用OLAP技術對高校圖書館館藏借閱數據的數據倉庫組織進行了分析。
根據Chen的框架,只有節點是由屬性描述的。然而,在現實中,邊緣也與屬性相關。例如,共同作者網絡以作者為節點,協作關系為邊。這些關系可以用時間或合著的論文來描述。為了解決這個問題,文獻[11]提出了同時處理節點屬性和邊緣屬性的模型,他們定義了一個新的包含節點和邊緣屬性的多維網絡。將節點屬性定義為圖多維數據集中的維數,將邊緣屬性定義為多維數據集中的維度。文獻[12]提出了一種新的具有超多維的概念模型,圖數據聚合是在節點和邊緣屬性上執行的,聚合圖是一個多重圖,其中兩個節點之間可以有多條邊,它使用戶可以看到不同的視圖。
基于以上研究,為了擴展OLAP在圖書館書目數據中的應用,文中構造了基于多維數據集的圖形,根據用戶的需求將每個節點或每個邊與一個立方體耦合,此模型支持OLAP操作進行分析。
OLAP系統的關鍵特性之一是數據的多維性,它支持通過維度和度量瀏覽數據。維度是為數據提供索引的值列表,維度和度量通常以多維數據立方體的形式表示,其中軸對應于維度及其值,維度值的交叉部分對應于度量值。簡單地說,維度是表和圖表中通常作為獨立變量處理的數據,而度量是表中列出或描述的特征。
另一個關鍵功能是在線操作,比如上卷、向下鉆取、切塊、切片和旋轉。分析人員可以使用它們來選擇適當的維度值,并查看表和圖中所選的度量。OLAP的其他關鍵特性是內置的和可編程的分析能力,以及不同的表示和報告選項。OLAP在大型數據集上運行,并且其結果主要由現有數據庫中的匯總信息組成。
分三步演示了架構的所有組件,如圖1所示。

圖1 系統架構
1.2.1 預處理
訪問圖書館書目數據庫,將數據提取到XML文件中,之后使用ETL流程[13]將數據提取并加載到圖形數據庫中。為了構建一個異構多維網絡G=(V,E、AV、AE),其中V是多個節點的集合,E是多個邊緣類型的集合,AV和AE分別是節點和邊緣的屬性集合,引入一個概念圖模型,如圖2所示。

圖2 概念圖模型
概念圖模型包含四種類型的節點(作者、論文、地點、關鍵詞)以及這些節點之間的邊,每個節點和邊由屬性描述。
1.2.2 導航
OLAP管理用戶的需求和交互,以及在分析過程中使用多維數據集圖形的輸入和輸出。OLAP使用元數據來管理度量、維數、節點和邊緣等之間的關系,它可以幫助用戶指定第一個圖以開始OLAP分析,然后,允許用戶使用OLAP操作從不同的視圖中查看圖形和多維數據集。
通過多維數據集構造圖形涉及兩個階段,計算聚合圖形;在節點及邊上構建多維數據集。



(c) 具有度量列表的邊集
路徑集如圖3(a)所示,論文44是從路徑1和路徑3獲得的,因為它是由兩位作者編寫的。計算聚合圖形是將用戶的參數作為輸入。如前所述,度量是論文數量,維數是年份、地點和關鍵詞。為了獲得第一張圖,生成了一組路徑,如作者-撰寫-論文-出版-地址;下一步是計算一組節點,得到一個包含作者及其路徑的列表,如圖3(b)所示;然后,將一起撰寫論文的任何兩位作者添加到邊列表中,如圖3(c)所示,利用交點運算符計算邊緣上的論文數量。例如,J.Han出版了論文33、論文47、論文44,Y.Sun出版了論文44、論文10、論文47,他們之間的一組論文是由{論文33, 論文47, 論文44,…}∩{論文44, 論文10, 論文47,…} = {論文44, 論文47,…}計算的;由于需要共同作者網絡的邊數據集,因此可以通過從邊緣中選擇一組節點來構建共同作者網絡的輸出圖,如圖3(d)所示。
多維數據集上的操作(例如上卷、下鉆和切片等)支持擴展不同的多維視圖,并允許交互式查詢和解析。如前所述,Graph OLAP中引入了兩種不同類型的操作。第一個是信息OLAP,它使用信息屬性,這個操作不會改變網絡的結構。例如,地點和時間是兩個信息屬性,它們具有相應的層次結構;第二種是拓撲OLAP,它意味著一種新的網絡結構,如果進行拓撲上卷操作,則網絡被一些合并節點泛化。例如,在作者網絡中,與節點屬性作者關聯的層次結構(機構、國別等),可用于將來自同一機構的作者合并到一個通用節點中。在多維數據集圖形中,可以執行信息OLAP和拓撲OLAP。
當同一機構的所有作者合并為一個節點時,任何兩個機構同時發表論文都會產生邊緣。如果同一作者在同一時間內擁有多個機構,則該作者將被計入其所有機構。在上卷之后,在更通用的網絡中,必須計算新的多維數據集。在示例中,共同作者網絡涉及邊緣多維數據集,而機構網絡既需要節點上的數據集,也需要邊緣上的數據集。在計算一組節點之前,需要過濾路徑,而不是生成一組路徑, 因為數據集的所有節點都收集在V′中,但某些節點可能不在共同作者網絡中(因為某些論文僅由一位作者撰寫)。當前一個網絡需要邊緣上的多維數據集時,調用路徑過濾步驟,然后計算一組新的節點。
傳統的切片操作從給定的多維數據集中選擇一個特定的維度[14-15],并提供一個新的子多維數據集。在上下文中,切片操作應該適應于圖。切片操作選擇圖的一部分并提供一個新的子圖。例如,如果整個合作網絡太大,則用戶可以關注更小的子圖,以便更清晰地分析信息。
(1) 從三個圖書館書目數據庫中獲取數據。首先,使用中國知網數據庫、萬方數據庫和維普數據庫,獲取關鍵字、機構和研究領域。在這三個來源中,只保留了三個研究領域(數據挖掘、數據庫和信息檢索)。最后,構建了一個包含4727篇論文和8238位作者的數據集。
(2) ETL(Extract-Transform-Load)過程用于將數據填充到模型中。數據清理后,通過圖形模型將數據加載到統一結構中。
(3) 使用一種稱為圖形數據庫的新型NoSQL數據庫,即Neo4j1,改進概念圖模型。因為Neo4j1是一個開源軟件,支持圖形模型的屬性。
(4) 在Java中開發OLAP接口分析,并在具有Intel core i5 2.4 GHz和8gb Ram的MacOS X version 10.9.5上進行了測試。對于圖形可視化,使用GraphStream2庫,因為該數據庫是一個用于建模和分析圖形動態的庫,并且是一個開源庫。
首先使用共同作者網絡示例,3個領域的共同作者網絡,如圖4所示。

圖4 擁有超過10篇論文的共同作者
該網絡的每條邊都有一個多維數據集。為了減少圖形的數量,對邊進行了過濾,以便只保留論文數量超過10篇的邊。
例如,對于Yue Hua和Xiang Zhai之間的邊界,這些作者一共發表了10篇論文,認為這些論文是二維的立方體,有兩種可視化方式,第一種方法是關注時間,以年為單位統計論文數量;第二種方法是關注地點,以地點為單位統計論文數量。
如果使用拓撲OLAP操作將共同作者網絡上卷到機構網絡,如圖5所示。

圖5 機構網絡
圖5中數字1表示某信息技術集團有限公司一個合作項目;數字2表示的是同一所大學的幾位作者的論文數量;數字3表示總論文數量。
此外,用戶可以進行切片操作,以只考慮子圖。在共同作者網絡中有幾個作者群體。假設用戶只需要考慮興趣組,通過切片操作,用戶可以選擇子共同作者網絡,從而在子圖上執行上卷操作。實驗證明,基于Graph OLAP的概念圖模型可以有效地分析圖書館的書目數據,從而為管理人員提供其所需信息。
為了增強圖書館書目數據網絡的決策支持,提出了一個概念圖模型,以將OLAP與網絡數據相結合。為了同時對節點、邊和多維信息進行分析,構建了多維數據集圖形,用多維數據集圖形執行異類圖而不是一組圖的多維視圖。根據用戶的需求(度量、維數等)為節點或邊提供多維數據集圖形。同時,將OLAP操作應用于多維數據集圖形,還解決了OLAP分析中維度變化緩慢的問題。此外,本文給出了一個使用來自三個書目數據庫的真實數據集實現,實驗證明,提出方法可以有效地應用于圖書館書目數據庫的分析,因為該方法可以快速交互瀏覽多維數據,還可以用于高效的報告、質量控制和數據完整性檢查。