成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Cayley圖數(shù)據(jù)庫(kù)的可視化(Visualize)

BakerJ / 3282人閱讀

摘要:本文將繼續(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的奧秘吧~

查詢(xún)結(jié)果可視化

??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

相關(guān)文章

  • Cayley數(shù)據(jù)庫(kù)簡(jiǎn)介及使用

    摘要:圖數(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)可...

    icyfire 評(píng)論0 收藏0
  • 利用Python實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)視化

    摘要:卷積神經(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ō),如...

    light 評(píng)論0 收藏0
  • 一文帶你用視化理解卷積神經(jīng)網(wǎng)絡(luò)

    摘要:尤其當(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ò)層...

    alaege 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

BakerJ

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<