初识Neo4j

睡觉前,突然想起来Neo4j这个数据库,以前认为是一个相当神秘的数据库,一听是图数据库,以为是存储图片的。一想不对啊,存储图片不是数据库层面建议的,所以自己理了下,也算是自己说服自己吧。

Neo4j是开源的,分了多个版本,其中企业版是基于AGPL协议的。

也就意味着你需要扩展,需要补充一个协议。

Neo4j的版本也分了不同的平台,目前较新的版本是3.3,最新的3.4

Neo4j比较贴心的是下载的时候会提示你注册一个用户,注册之后,会给你发送一个电子版的pdf文档。有一些详细的技术细节。

下载Neo4j其实会很多的选择,有很多的组件可下载。其中Cypher学习Neo4j的重中之重。限于时间关系,我就学了几个花拳绣腿。

因为Neo4j是基于Java,所以使用Java来做数据的处理还是很方便的,当然他也支持不同平台的语言和技术。

我们来简单实践一下。

首先从官网下载Neo4j,安装包大概是80M左右。

因为Neo4j是基于Java开发,我选择的版本是3.3,能够接受的最低版本是1.8了。所以在安装配置的时候我们需要提前准备好Java.

然后在bin目录下启动Neo4j,有两种方式,一种是使用console选项,一种是start基于后台模式。

启动的日志如下:

[root@dev01 bin]# ./neo4j console

Active database: graph.db

Directories in use:

home: /root/neo4j/neo4j-community-3.3.2

config: /root/neo4j/neo4j-community-3.3.2/conf

logs: /root/neo4j/neo4j-community-3.3.2/logs

plugins: /root/neo4j/neo4j-community-3.3.2/plugins

import: /root/neo4j/neo4j-community-3.3.2/import

data: /root/neo4j/neo4j-community-3.3.2/data

certificates: /root/neo4j/neo4j-community-3.3.2/certificates

run: /root/neo4j/neo4j-community-3.3.2/run

Starting Neo4j.

WARNING: Max 1024 open files allowed, minimum of 40000 recommended. See the Neo4j manual.

2018-01-23 15:12:55.972+0000 INFO ======== Neo4j 3.3.2 ========

2018-01-23 15:12:56.010+0000 INFO Starting...

2018-01-23 15:12:57.425+0000 INFO Bolt enabled on 127.0.0.1:7687.

2018-01-23 15:13:01.078+0000 INFO Started.

2018-01-23 15:13:02.240+0000 INFO Remote interface available at http://localhost:7474/

我们可以使用提供的url来连接,默认的密码是neo4j,第一次登录之后会提示你修改密码。

然后我们可以基于cypher-shell的命令行方式来学习neo4j或者图形的方式都可以。

如果要连接到Neo4j,使用cypher-shell的方式如下:

[root@dev01 bin]# ./cypher-shell

username: neo4j

password: *******

Connected to Neo4j 3.3.2 at bolt://localhost:7687 as user neo4j.

Type :help for a list of available commands or :exit to exit the shell.

Note that Cypher queries must end with a semicolon.

我们创建数据

neo4j> CREATE (A ), (B ), (C ), (D ),(E ),(A)-[:Son]->(B),(A)-[:Son]->(C),(B)-[:Son]->(D),(C)-[:Son]->(E);

0 rows available after 226 ms, consumed after another 0 ms

Added 5 nodes, Created 4 relationships, Set 10 properties

遍历,得到关系

neo4j> START n=node(*) RETURN n;

+----------------------+

| n |

+----------------------+

| () |

| () |

| () |

| () |

| () |

+----------------------+

5 rows available after 1385 ms, consumed after another 18 ms

如果是通过终端的方式,就更方便了。

直接在里面输入信息,就可以得到图形的结果了。

当然如果要深入下去,可做的事情还有很多。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180124B0049I00?refer=cp_1026

扫码关注云+社区