图数据库cayley+mongo的起航之旅

时间:2021-11-07 17:21:14

图数据库,目前比较主流的可能是Neo4j以及cayley了。但是,由于Neo4j只有社区版是免费的,所以,选择cayley作为项目的最终选择!

今天就简单的介绍下,我的起航之旅。

1.安装go语言环境

去官方地址https://golang.org/dl/,下载稳定版本https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz
解压,并将其配置到环境变量。

[root@localhost tkrobot]# tar -C /usr/local -xvf go1.8.1.linux-amd64.tar.gz

配置环境变量:

vim /etc/profile
export PATH=$JAVA_HOME/bin:$MONGODB_PATH/bin:/usr/local/go/bin:$PATH
export GOPATH=/usr/local/go

2.下载cayley的binary安装程序

去官方的下载网址https://github.com/cayleygraph/cayley/releases,选择下载稳定版的最新版本,我的环境是Redhat7,64位的linux环境。下载v.0.6.1的AMD64位linux版本。

https://github.com/cayleygraph/cayley/releases/download/v0.6.1/cayley_v0.6.1_linux_amd64.tar.gz

这个地址,若下载有问题,可以去这个地址下载.

cayley这个是二进制程序,解压后直接可以使用。

3.配置cayley

解压下载的cayley文件gz包,将里面的cayley.cfg.example拷贝到/etc/下,重命名为cayley.cfg

[root@localhost cayley_v0..1_linux_amd64]# cp cayley.cfg.example /etc/cayley.cfg

将/etc/cayley.cfg的内容修改为如下:

{
"database": "mongo",
"db_path": "10.90.7.10:27017",
"read_only": false,
"listen_host":"0.0.0.0",
"listen_port":""
}

mongo数据库的安装过程,请参照我前面的博客spring4与mongodb的集成,还是很简单的。

4.加载数据到cayley,这个过程,cayley用到了cayley.cfg这个配置文件

[root@localhost cayley_v0..1_linux_amd64]# ./cayley load -quads data/testdata.nq --alsologtostderr=true
I0516 ::06.691039 cayley.go:] Cayley v0.6.1 built --12T11::-:
I0516 ::06.691323 cayley.go:] Setting GOMAXPROCS to
I0516 ::06.691337 db.go:] Opening quad store "mongo" at 10.90.7.10:
I0516 ::06.711636 db.go:] Opening replication method "single"

此时,连接到mongo数据库,可以看到,多了一个cayley的db。里面有3个collection。

> show dbs;
admin .000GB
cayley .000GB
local .000GB
robotkdb .000GB
> use cayley
switched to db cayley
> show collections
log
nodes
quads
>

5.测试

命令行的方式操作cayley:

[root@localhost cayley_v0..1_linux_amd64]# ./cayley repl
creating new history file: ".cayley_history"
cayley> :a
Error: not a valid quad: incomplete N-Quad
cayley> + =>
-----------
Result
Elapsed time: 0.108118 ms cayley> * =>
-----------
Result
Elapsed time: 0.106414 ms cayley> graph.Vertex("<dani>").All() ****
id : <dani>
=> <nil>
-----------
Results
Elapsed time: 0.693895 ms cayley>

http的方式操作cayley:

[root@localhost cayley_v0..1_linux_amd64]# ./cayley http
Serving Gephi GraphStream at http://localhost:64100/gephi/gs
Cayley now listening on 0.0.0.0:[root@localhost cayley_v0..1_linux_amd64]# ./cayley http
Serving Gephi GraphStream at http://localhost:64100/gephi/gs
Cayley now listening on 0.0.0.0:

这个时候,会出现html的操作界面。我这里有截图,以示安装效果!

图数据库cayley+mongo的起航之旅

下面这个图,是写四元组的示例:

图数据库cayley+mongo的起航之旅

到此,cayley基于mongo的环境就算完成。至于cayley的具体如何使用,比如增删改查之类的,下一个博文进行介绍!

周末愉快!