前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初识Neo4j

初识Neo4j

作者头像
jeanron100
发布2018-03-22 14:58:42
1.5K0
发布2018-03-22 14:58:42
举报
文章被收录于专栏:杨建荣的学习笔记

睡觉前,突然想起来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的方式如下:

代码语言:javascript
复制
[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.

我们创建数据

代码语言:javascript
复制
neo4j> CREATE (A {id:1,name:'A'}), (B {id:2,name:'B'}), (C {id:3,name:'C'}), (D {id:4,name:'D'}),(E {id:5,name:'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

遍历,得到关系

代码语言:javascript
复制
neo4j> START n=node(*) RETURN n;
+----------------------+
| n                    |
+----------------------+
| ({name: "A", id: 1}) |
| ({name: "B", id: 2}) |
| ({name: "C", id: 3}) |
| ({name: "D", id: 4}) |
| ({name: "E", id: 5}) |
+----------------------+
5 rows available after 1385 ms, consumed after another 18 ms
neo4j>

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档