1. 摘要
由於圖資料庫的複雜模式和不同的資訊描述方式,對於非專業使用者來說查詢複雜的圖資料庫是異常困難的。一個好的圖查詢引擎應該支援多種轉化——同義字、縮減詞、簡寫以及本體等等,並且應該能夠對搜尋結果進行一個很好地排序。
基於此問題本文提出了一種新型的查詢方塊架來方便使用者查詢,解放了為構造查詢圖而抓耳撓腮的使用者群。
2. 應用背景2.1 應用
圖資料庫也是一種流行的資料存放區方式,如知識圖、資訊網路以及社交網路等應用的資料都儲存在圖資料庫中。因為圖資料的無模式或者模式太複雜以及資訊的多種描述方式使得基於圖資料的查詢變得非常困難。對於一般使用者來說更是望之卻步。
圖2-1 a為圖資料庫中的一部分,若查詢大約30歲並且跟“Universityof California Berkley”以及“Mission:Impssible”相關的演員,易得圖2-1中綠色與黃色部分均為比較好的結果。圖2-1 b為一個能夠表達查詢語義的查詢,但是現有的圖資料庫查詢只能查詢到綠色的部分或者一個都查不到。原因在於結點的資訊都不匹配,而原有查詢又不支援語義轉換或者只支援一種轉化。
圖2-1 圖資料庫G
該文解決的問題可以描述為:給定一個查詢Q以及資料庫G,找出圖資料庫中所有由Q經轉換函式可以轉化的圖。
2.2 抽象定義
給定一個查詢Q、一個圖資料庫G以及一系列轉化函數L,求跟Q匹配的最好的k個子圖。其中轉化函數L包括表2-1中所有的轉化。
表2-1 本文支援的轉化函數
註:本文的方法可以輕鬆地加入其它轉化函數來滿足不同的需求
3 已有方法
Spark查詢只需使用者輸入關鍵字即可,而無需輸入複雜的圖結點關係就能得到查詢結果。但其只能提取字串相似匹配,通過修改可以使其支援其它轉換。
NeMa支援圖結構和字串相似度匹配(Jaccard)。
4 本文的方法4.1 離線操作
4.1.1 度量函數
下述公式中v表示結點,e表示邊,φ(·)表示匹配,例如φ(v)表示圖資料庫G中與查詢圖v中匹配的結點。若v可以經過第i個轉換函式變為φ(v),則fi(v,φ(v)) = 1;反之φ(v) = 0。
結點匹配代價:
邊匹配代價:
圖匹配函數:
且易得圖匹配函數P的值越小,與Q匹配的圖φ(Q)的品質越高,即查詢結果應該為P值最小的k個子圖。
4.1.2 參數確定
令W={α1, α2, … ; β1, β2…},則
其中T表示訓練集。
4.1.3 冷啟動
令啟動的目的在於如何產生好的查詢訓練集,從而可以得到好的匹配函數的參數。冷啟動步驟:
(1) 從圖資料庫中隨機播放一些子圖作為查詢範本Q’;
(2) 將查詢範本中的一些結點和邊用轉換函式進行轉化得到查詢Q;
(3) 提取和Q精確匹配的子圖Qe;
(4) (Q, Q’)與(Q, Qe)組成訓練集。
4.2 線上查詢
一般的圖查詢均屬於NP-hard問題,其可以歸約為子圖同構問題,從而證明該問題是NP-hard的。因此本文設計了兩個啟發學習法用於求解該問題。
4.2.1 啟發學習法1
將圖匹配的代價累加到一個結點上,則每個結點的匹配得分可以代表包括該節點在內的圖匹配代價。
每個結點計算公式:
其中mji(t)(ui)表示第t次迭代uj結點對節點ui匹配貢獻的得分。該公式的直觀理解參考圖4-1。其中a、b中左邊均表示資料庫,右邊表示查詢圖。
圖4-1 啟發學習法1的直觀意義
4.2.2 啟發學習法2
利用啟發學習法1進行計算時需要計算大量的結點。由結點匹配代價計算公式可得,對於任意的查詢結點v經過相同的轉換函式匹配代價相同。基於此將經過同一個結點轉換的結點濃縮為一個結點計算,則可以有效減少結點得分的計算個數。由濃縮結點組成的圖成為概要圖。若查詢圖中兩個結點之間存在邊,則串連概要圖中對應的結點,而與圖資料庫無關。其中,邊的匹配代價為圖資料庫中所有這類邊的匹配代價的上界。
基於這種發現問題的求解步驟為:
(1) 構造概要圖;
(2) 在概要圖上利用啟發學習法1計算;
(3) 利用概要圖中計算出的結果求原圖中與之對應子圖的得分。
迴圈執行直到找到k個結果。
以上為我對論文Schemaless and Structureless Graph Querying-vldb2014的個人理解,當然其中只介紹了論文中的主要內容,詳細的講解請查看論文講解的ppt,地址http://download.csdn.net/detail/woniu317/7391539。