天天看點

試一試圖資料庫cayley安裝go:安裝mongodb:安裝Cayley:如何插入節點?

這是谷歌的一個開源免費的圖資料庫。是用Go語言寫的。支援多種存儲後端。

之是以要試這個,是因為它能夠水準可擴充,就是說它支援分片。backend配置成分布式的存儲系統就可以了。我選擇mongodb。

由于網絡的原因,我隻能離線安裝了。需要安裝這三個東西:Golang, Mongo, Cayley。

解壓tar.gz檔案後,打開doc目錄下的install.html, 裡面有安裝教程:

然後下面有 Test your installation。

運作那個小程式之前要先設定GOPATH. 根據提示“How to Write Go Code ”,打開code.html。

裡面提到可以運作下面這個指令檢視預設的路徑。

預設路徑是~/go。 這個路徑我挺滿意的就不改它了。 這個路徑就是go的workspace所在的地方。 如果你要改這個路徑就要按文檔裡說的将GOPATH加入到環境變量裡。

如果你願意可以按照文檔裡說的,弄一個hello world的程式跑一下。

解壓完之後,在某個目錄下建立一個配置檔案。我的在/home/ubt1604/mongodb/mongodb.conf

主要就是配置logpath和dbpath這兩個路徑。其他都預設就OK,内容如下:

啟動mongodb:

關閉mongodb

解壓完之後打開docs目錄下的Quickstart-As-Application.md,最好用markdown工具打開一下,看的清楚一些。多看幾遍,你會發現那個init根本用不上。

複制一份cayley.cfg.example,改名為cayley.cfg.overview,内容如下:

db_path是設定backend的。我們用mongodb作為backend。注意ubuntu是mongodb所在的 主機名,不是IP。

把已有的資料加載到庫裡:

如果你之前已經執行過一次了,可以在指令最後加上一個 -ignoredup。

啟動cayley:

–host=0.0.0.0是說外部機器都可以通路到cayley。

在輸入框輸入

<code>graph.Vertex("&lt;dani&gt;").All()</code>,然後點選Query,就看到如下結果:

試一試圖資料庫cayley安裝go:安裝mongodb:安裝Cayley:如何插入節點?

再輸入<code>graph.Vertex("&lt;dani&gt;").Out("&lt;follows&gt;").All()</code>

試一試圖資料庫cayley安裝go:安裝mongodb:安裝Cayley:如何插入節點?

語言選擇Gizmo,輸入<code>g.V("&lt;dani&gt;").Tag("source").Out("&lt;follows&gt;").Tag("target").All()</code>

試一試圖資料庫cayley安裝go:安裝mongodb:安裝Cayley:如何插入節點?

根據官方的說法,Gizmo - a JavaScript, with a Gremlin-inspired* graph object.

就是說如果使用Quickstart-As-Application.md裡給的JavaScript代碼,webUI上語言就要選擇Gizmo。

跟文檔一樣,搞一個.nq的檔案,然後導進去。

在data下建立一個familytree.nq。内容如下:

然後

<code>./cayley load --config=cayley.cfg.overview --quads=data/familytree.nq --alsologtostderr</code>

再次啟動cayley

最後在webui裡選擇Visualize,語言選擇Gizmo,輸入如下查詢語句就可以看到全家福了

試一試圖資料庫cayley安裝go:安裝mongodb:安裝Cayley:如何插入節點?

文章裡有幾個demo,我查出來的結果跟他的不一樣。可能是版本不同吧。

cayley環境是我在虛拟機裡做的。檢索的時候有卡住的情況。不知道是cayley不穩定還是虛拟機本來就卡。總之就是有點問題。如果你們也遇到這種情況請讓我知道。