摘要:本文將繼續上篇文章的旅程,給讀者介紹如何在圖數據庫中實現查詢結果的可視化。下面,讓我們一起來探究的奧秘吧查詢結果可視化圖數據庫的查詢語句的參考網址為。我們使用的數據仍來自文章圖數據庫的簡介及使用。
引入
??在文章Cayley圖數據庫的簡介及使用中,我們已經了解了Cayley圖數據庫的安裝、數據導入以及進行查詢等。
??Cayley圖數據庫是Google開發的開源圖數據庫,雖然功能還沒有Neo4J來得那么強大,但也有很多新的功能等待著我們去探索。本文將繼續上篇文章的旅程,給讀者介紹如何在Cayley圖數據庫中實現查詢結果的可視化。
??下面,讓我們一起來探究Cayley的奧秘吧~
??Cayley圖數據庫的查詢語句的參考網址為:https://github.com/cayleygraph/cayley/blob/master/docs/GizmoAPI.md 。 若想實現查詢結果的可視化,則需要使用Tag()函數,返回的結果樣式應當如下:
[ { "source": "node1", "target": "node2" }, { "source": "node1", "target": "node3" }, ]
即返回的結果中對節點會打上Tag,source為來源,顏色為藍色,target為目的地,顏色為橙色。
??我們使用的數據仍來自文章Cayley圖數據庫的簡介及使用 。 首先導入數據:
./cayley load -c cayley_example.yml -i data/China_Movie.nq
接著啟動查詢語句的web界面:
./cayley http -i ./data/China_Movie.nq -d memstore --host=:64210
在瀏覽器中輸入網址:http://localhost:64210 ,選擇Visualize,
輸入命令:
g.V("<沈騰>").Tag("source").Out("").Tag("target").All();
就能能到關系圖的可視化結果了,如下:
??接著我們來查看某個實體的所有屬性及屬性值,輸入的命令如下:
var eq = "<流浪地球>"; var attrs = g.V(eq).OutPredicates().ToArray(); values = new Array(); for (i in attrs) { var value = g.V(eq).Out(attrs[i]).ToValue(); values[i] = value; } var s = new Array(); for (i in attrs) { var key_val_json = new Object(); key_val_json["id"] = values[i]; key_val_json["source"] = eq; key_val_json["target"]= attrs[i]+":"+values[i]; s[i] = key_val_json; } for (i =0; i< s.length; i++) { g.Emit(s[i]); }
出來的圖如下:
這樣我們就實現了Cayley圖數據庫的可視化,但是效果一般,而且不支持對邊賦值,因此無法在邊上顯示關系。
利用D3.js實現可視化展示??利用D3.js,我們可以把查詢到的結果,自己來畫關系圖。筆者主要參考的項目的Github地址為: https://github.com/ownthink/KG-View/blob/master/index.html 。我們只需要將查詢到的結果復制粘貼到該HTML文件中即可。還是以《流浪地球》的所有屬性及屬性值為例,查詢的命令如下:
var eq = "<流浪地球>"; var attrs = g.V(eq).OutPredicates().ToArray(); values = new Array(); for (i in attrs) { var value = g.V(eq).Out(attrs[i]).ToValue(); values[i] = value; } var s = new Array(); for (i in attrs) { var key_val_json = new Object(); key_val_json["source"] = eq; key_val_json["rela"] = attrs[i]; key_val_json["target"] = values[i]; key_val_json["type"] = "resolved"; s[i] = key_val_json; } for (i =0; i< s.length; i++) { g.Emit(s[i]); }
返回的結果如下:
{ "result": [ { "rela": "", "source": "<流浪地球>", "target": " ", "type": "resolved" }, { "rela": " ", "source": "<流浪地球>", "target": "2", "type": "resolved" }, { "rela": " ", "source": "<流浪地球>", "target": "/item/%E6%B5%81%E6%B5%AA%E5%9C%B0%E7%90%83", "type": "resolved" }, { "rela": " ", "source": "<流浪地球>", "target": "40.83億", "type": "resolved" }, { "rela": " ", "source": "<流浪地球>", "target": "46", "type": "resolved" }, { "rela": " ", "source": "<流浪地球>", "target": "50", "type": "resolved" }, { "rela": " ", "source": "<流浪地球>", "target": "2019.02.05", "type": "resolved" } ] }
將result的結果數組復制粘貼至index.html文件,內容如下:
在瀏覽器中打開,效果如下:
這個繪圖的效果會比Cayley自帶的效果好一些,但功能還是有限。
總結??網上關于Cayley的相關資料比較少,基本只有官方文檔和社區作為參考。本文所講述的內容如有不足之處,還請讀者多多指教~另外,關于Cayley的可視化,如讀者有更好地辦法實現,也歡迎告知筆者~
注意:不妨了解下筆者的微信公眾號: Python爬蟲與算法(微信號為:easy_web_scrape), 歡迎大家關注~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/17988.html
摘要:圖數據庫現已涌現出許多出眾的軟件,比如筆者寫過的文章入門之中國電影票房排行淺析中的,為進行關系數據分析而構建的,高度可擴展的分布式圖數據庫以及的開源圖數據庫等。 圖數據庫 ??在如今數據庫群雄逐鹿的時代中,非關系型數據庫(NoSQL)已經占據了半壁江山,而圖數據庫(Graph Database)更是攻城略地,成為其中的佼佼者。??所謂圖數據庫,它應用圖理論(Graph Theory)可...
摘要:卷積神經網絡模型可視化的重要性正如上文中介紹的癌癥腫瘤診斷案例所看到的,研究人員需要對所設計模型的工作原理及其功能掌握清楚,這點至關重要。研究人員使用張迷彩坦克照片及張樹林照片來訓練一個神經網絡。 摘要: 本文簡單說明了CNN模型可視化的重要性,以及介紹了一些可視化CNN網絡模型的方法,希望對讀者有所幫助,使其能夠在后續深度學習應用中構建更好的模型。 對于深度學習這種端到端模型來說,如...
摘要:尤其當我們處理基于成千上萬數據的卷積神經網絡時更是如此。在本文中,我們將介紹多種用于可視化卷積神經網絡的技術。我們將使用中的函數來可視化模型體系結構。濾波器可視化的構成模塊濾波器是任何卷積神經網絡的基本構建模塊。 你的神經網絡是如何生成這個結果的?這個問題也曾讓許多數據科學家陷入了困境。其實,讓我們去解釋一個層數較少的簡單神經網絡工作原理并不難,但是當我們將計算機視覺項目中的神經網絡層...
閱讀 2485·2021-10-19 11:45
閱讀 2463·2021-09-30 09:56
閱讀 1431·2021-09-30 09:47
閱讀 589·2019-08-30 15:53
閱讀 1834·2019-08-30 15:44
閱讀 583·2019-08-30 12:52
閱讀 1084·2019-08-30 11:16
閱讀 1605·2019-08-29 16:36