[發明專利]基于RDF的知識圖譜交互式可視化查詢方法有效
| 申請號: | 201810739577.2 | 申請日: | 2018-07-06 |
| 公開(公告)號: | CN109033260B | 公開(公告)日: | 2021-08-31 |
| 發明(設計)人: | 王鑫;楊朝洲 | 申請(專利權)人: | 天津大學 |
| 主分類號: | G06F16/33 | 分類號: | G06F16/33;G06F16/332;G06F16/338;G06F16/36;G06F16/901;G06F16/903 |
| 代理公司: | 天津市北洋有限責任專利代理事務所 12201 | 代理人: | 劉玥 |
| 地址: | 300072*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 rdf 知識 圖譜 交互式 可視化 查詢 方法 | ||
1.一種基于RDF的知識圖譜交互式可視化查詢方法,其特征在于,包括以下步驟:
步驟1:使用React構建項目框架,生成工程目錄,包括配置文件、組件和公共靜態資源,其中,所述組件包括父組件和子組件,所述父組件為App.js,所述子組件包括查詢組件、可視化組件、信息欄組件、簡介欄組件;所述的App.js作為根組件,將所有子組件整合封裝并定義了頁面布局和Bootstrap樣式選擇器;
步驟2:App.js作為根組件的作用是利用React的狀態和屬性完成跨組件參數傳遞;在查詢組件和可視化組件中使用節點集合和邊集合存儲數據,在查詢組件和可視化組件之間使用狀態保持數據的一致性,在查詢過程中查詢組件更新App.js中的查詢結果狀態,App.js中更新的查詢結果狀態作為可視化組件的屬性也會同時更新,顯示可視化結果,而且當前實體的狀態更新會使信息欄組件中的簡介和相關圖片發生更新;其中,子組件更新父組件是通過調用父組件傳遞到子組件的回調函數實現;
步驟3:基于將用戶的查詢分為基于實體查詢、基于模式匹配查詢和基于正則路徑查詢,所述查詢組件由實體查詢組件、模式匹配查詢組件和正則路徑查詢組件組成;基于實體查詢屬于基本查詢模式,基于模式匹配查詢和基于正則路徑查詢屬于高級查詢模式,用戶根據需求采用第一按鈕對基本查詢模式和高級查詢模式進行切換;
(1)基于實體查詢
實體查詢組件使用基于AJAX技術的提示補全,當輸入內容發生更新時調用Axios向SPARQL endpoint異步發送GET請求查詢以輸入內容開頭的實體,當獲取到查詢結果后進行處理得到節點集合和邊集合,然后調用父組件傳遞的回調函數更新可視化組件和簡介欄組件的內容使得查詢結果同步更新;
(2)基于模式匹配查詢
模式匹配查詢組件和正則路徑查詢組件是查詢組件的子組件,其中包括切換主語/賓語按鈕和添加條件按鈕;
輸入三元組:使用(1)基于實體查詢中的方法實現實體的輸入,并根據切換主語/賓語按鈕設置該實體在三元組條件中的位置,根據實體在三元組條件中的位置,調用Axios向SPARQL endpoint異步發送GET請求查詢該實體擁有的屬性和關系,并將查詢結果在下拉列表中顯示給用戶,用戶可以輸入部分關鍵詞從中快速選??;
三元組條件使用狀態進行存儲,實現用戶界面和數據的雙向綁定,用戶點擊添加條件按鈕即可添加該三元組條件,點擊該三元組條件右側減號可以移除該該三元組條件,同時狀態也會發生更新,當點擊查詢按鈕時,查詢函數會將查詢條件進行字符串拼接生成SPARQL查詢語句使用Axios向SPARQL endpoint異步發送GET請求查詢;
遍歷查詢結果將三元組條件和查詢結果進行組合生成邊集合和節點集合,使用父組件傳遞的回調函數更新狀態,使得可視化組件即時更新可視化結果;
(3)基于正則路徑查詢
基于正則路徑查詢和基于模式匹配查詢使用第二按鈕進行切換,當處在基于正則路徑查詢模式下,主語或賓語的輸入方式不變,而謂語使用表達式樹進行構建;
使用(2)基于模式匹配查詢中輸入三元組的方法,在下拉列表中設置正則運算符,選擇一個運算符后點擊添加按鈕即可在右側表達式樹添加一個節點,若該運算符是一元運算符則添加一個節點,若是二元運算符則添加兩個節點,用戶點擊節點使用(1)基于實體查詢中的的實體查詢組件的提示補全功能選擇一個節點;
點擊添加條件按鈕,則對表達式樹進行中序遍歷,生成三元組謂語,然后將三元組進行字符串拼接得到SPARQL查詢語句向SPARQL endpoint異步發送GET請求查詢;
遍歷查詢結果將三元組條件和查詢結果進行組合生成邊集合和節點集合,使用父組件傳遞的回調函數更新狀態,使得可視化組件即時更新可視化結果;
步驟4:在信息攔組件中調用Axios向SPARQL endpoint異步發送GET請求查詢當前狀態的實體在維基百科中的簡介和相關圖片,并用查詢結果更新信息框的狀態,實時更新顯示內容,以確保狀態數據和渲染內容的一致性;
步驟5:在可視化組件中綁定鼠標點擊事件,當鼠標單擊節點時,更新父組件當前狀態為該實體,因為該狀態作為信息攔組件的屬性,所以狀態的更新會觸發信息攔組件的更新,以顯示該實體在維基百科中簡介和相關圖片;當鼠標雙擊節點時,調用Axios向SPARQLendpoint異步發送GET請求查詢該節點的屬性和關系,并將查詢結果加入到可視化結果中,以實現拓展節點的功能。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于天津大學,未經天津大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810739577.2/1.html,轉載請聲明來源鉆瓜專利網。





