摘要:本文將繼續(xù)上篇文章的旅程,給讀者介紹如何在圖數(shù)據(jù)庫(kù)中實(shí)現(xiàn)查詢(xún)結(jié)果的可視化。下面,讓我們一起來(lái)探究的奧秘吧查詢(xún)結(jié)果可視化圖數(shù)據(jù)庫(kù)的查詢(xún)語(yǔ)句的參考網(wǎng)址為。我們使用的數(shù)據(jù)仍來(lái)自文章圖數(shù)據(jù)庫(kù)的簡(jiǎn)介及使用。
引入
??在文章Cayley圖數(shù)據(jù)庫(kù)的簡(jiǎn)介及使用中,我們已經(jīng)了解了Cayley圖數(shù)據(jù)庫(kù)的安裝、數(shù)據(jù)導(dǎo)入以及進(jìn)行查詢(xún)等。
??Cayley圖數(shù)據(jù)庫(kù)是Google開(kāi)發(fā)的開(kāi)源圖數(shù)據(jù)庫(kù),雖然功能還沒(méi)有Neo4J來(lái)得那么強(qiáng)大,但也有很多新的功能等待著我們?nèi)ヌ剿?。本文將繼續(xù)上篇文章的旅程,給讀者介紹如何在Cayley圖數(shù)據(jù)庫(kù)中實(shí)現(xiàn)查詢(xún)結(jié)果的可視化。
??下面,讓我們一起來(lái)探究Cayley的奧秘吧~
??Cayley圖數(shù)據(jù)庫(kù)的查詢(xún)語(yǔ)句的參考網(wǎng)址為:https://github.com/cayleygraph/cayley/blob/master/docs/GizmoAPI.md 。 若想實(shí)現(xiàn)查詢(xún)結(jié)果的可視化,則需要使用Tag()函數(shù),返回的結(jié)果樣式應(yīng)當(dāng)如下:
[ { "source": "node1", "target": "node2" }, { "source": "node1", "target": "node3" }, ]
即返回的結(jié)果中對(duì)節(jié)點(diǎn)會(huì)打上Tag,source為來(lái)源,顏色為藍(lán)色,target為目的地,顏色為橙色。
??我們使用的數(shù)據(jù)仍來(lái)自文章Cayley圖數(shù)據(jù)庫(kù)的簡(jiǎn)介及使用 。 首先導(dǎo)入數(shù)據(jù):
./cayley load -c cayley_example.yml -i data/China_Movie.nq
接著啟動(dòng)查詢(xún)語(yǔ)句的web界面:
./cayley http -i ./data/China_Movie.nq -d memstore --host=:64210
在瀏覽器中輸入網(wǎng)址:http://localhost:64210 ,選擇Visualize,
輸入命令:
g.V("<沈騰>").Tag("source").Out("").Tag("target").All();
就能能到關(guān)系圖的可視化結(jié)果了,如下:
??接著我們來(lái)查看某個(gè)實(shí)體的所有屬性及屬性值,輸入的命令如下:
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]); }
出來(lái)的圖如下:
這樣我們就實(shí)現(xiàn)了Cayley圖數(shù)據(jù)庫(kù)的可視化,但是效果一般,而且不支持對(duì)邊賦值,因此無(wú)法在邊上顯示關(guān)系。
利用D3.js實(shí)現(xiàn)可視化展示??利用D3.js,我們可以把查詢(xún)到的結(jié)果,自己來(lái)畫(huà)關(guān)系圖。筆者主要參考的項(xiàng)目的Github地址為: https://github.com/ownthink/KG-View/blob/master/index.html 。我們只需要將查詢(xún)到的結(jié)果復(fù)制粘貼到該HTML文件中即可。還是以《流浪地球》的所有屬性及屬性值為例,查詢(xún)的命令如下:
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]); }
返回的結(jié)果如下:
{ "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的結(jié)果數(shù)組復(fù)制粘貼至index.html文件,內(nèi)容如下:
在瀏覽器中打開(kāi),效果如下:
這個(gè)繪圖的效果會(huì)比Cayley自帶的效果好一些,但功能還是有限。
總結(jié)??網(wǎng)上關(guān)于Cayley的相關(guān)資料比較少,基本只有官方文檔和社區(qū)作為參考。本文所講述的內(nèi)容如有不足之處,還請(qǐng)讀者多多指教~另外,關(guān)于Cayley的可視化,如讀者有更好地辦法實(shí)現(xiàn),也歡迎告知筆者~
注意:不妨了解下筆者的微信公眾號(hào): Python爬蟲(chóng)與算法(微信號(hào)為:easy_web_scrape), 歡迎大家關(guān)注~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/17988.html
摘要:圖數(shù)據(jù)庫(kù)現(xiàn)已涌現(xiàn)出許多出眾的軟件,比如筆者寫(xiě)過(guò)的文章入門(mén)之中國(guó)電影票房排行淺析中的,為進(jìn)行關(guān)系數(shù)據(jù)分析而構(gòu)建的,高度可擴(kuò)展的分布式圖數(shù)據(jù)庫(kù)以及的開(kāi)源圖數(shù)據(jù)庫(kù)等。 圖數(shù)據(jù)庫(kù) ??在如今數(shù)據(jù)庫(kù)群雄逐鹿的時(shí)代中,非關(guān)系型數(shù)據(jù)庫(kù)(NoSQL)已經(jīng)占據(jù)了半壁江山,而圖數(shù)據(jù)庫(kù)(Graph Database)更是攻城略地,成為其中的佼佼者。??所謂圖數(shù)據(jù)庫(kù),它應(yīng)用圖理論(Graph Theory)可...
摘要:卷積神經(jīng)網(wǎng)絡(luò)模型可視化的重要性正如上文中介紹的癌癥腫瘤診斷案例所看到的,研究人員需要對(duì)所設(shè)計(jì)模型的工作原理及其功能掌握清楚,這點(diǎn)至關(guān)重要。研究人員使用張迷彩坦克照片及張樹(shù)林照片來(lái)訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)。 摘要: 本文簡(jiǎn)單說(shuō)明了CNN模型可視化的重要性,以及介紹了一些可視化CNN網(wǎng)絡(luò)模型的方法,希望對(duì)讀者有所幫助,使其能夠在后續(xù)深度學(xué)習(xí)應(yīng)用中構(gòu)建更好的模型。 對(duì)于深度學(xué)習(xí)這種端到端模型來(lái)說(shuō),如...
摘要:尤其當(dāng)我們處理基于成千上萬(wàn)數(shù)據(jù)的卷積神經(jīng)網(wǎng)絡(luò)時(shí)更是如此。在本文中,我們將介紹多種用于可視化卷積神經(jīng)網(wǎng)絡(luò)的技術(shù)。我們將使用中的函數(shù)來(lái)可視化模型體系結(jié)構(gòu)。濾波器可視化的構(gòu)成模塊濾波器是任何卷積神經(jīng)網(wǎng)絡(luò)的基本構(gòu)建模塊。 你的神經(jīng)網(wǎng)絡(luò)是如何生成這個(gè)結(jié)果的?這個(gè)問(wèn)題也曾讓許多數(shù)據(jù)科學(xué)家陷入了困境。其實(shí),讓我們?nèi)ソ忉屢粋€(gè)層數(shù)較少的簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)工作原理并不難,但是當(dāng)我們將計(jì)算機(jī)視覺(jué)項(xiàng)目中的神經(jīng)網(wǎng)絡(luò)層...
閱讀 2493·2021-10-19 11:45
閱讀 2485·2021-09-30 09:56
閱讀 1441·2021-09-30 09:47
閱讀 599·2019-08-30 15:53
閱讀 1840·2019-08-30 15:44
閱讀 589·2019-08-30 12:52
閱讀 1090·2019-08-30 11:16
閱讀 1616·2019-08-29 16:36