jangwoo 小马学编程 2月8日
序言
随着今天互联网不断的发展,以前像如 oracle,mysql 这样关系型数据库已经难以支撑现下大数据量,高并发的场景了。于是,NoSQL横空出世,有像cassandra这样的column-based,像MongoDB这样document-based。今天在这里看一看graph-based的数据库,以 Neo4j 为例,并且结合 express 搭建一个简单应用来模拟一些应用场景。
科普一下基础知识
图数据库名字的由来其实与其在底层的存储方式有关,Neo4j底层会以图的方式把用户定义的节点以及关系存储起来,通过这种方式,可是高效的实现从某个节点开始,通过节点与节点间关系,找出两个节点间的联系。
可以到官网下载社区版,安装非常简单,没有特别的。
我们还是一贯原则,先睹为快,以后在详细介绍他界面。今天给大家演示一下如何在 neo4j 中进行增删改查。
1. 增
进入界面后,便可以在界面的顶部的输入框中,输入语句执行操作。
首先创建一个节点,其中 Person 为节点的类型,在{} 中以键值对的形式来定义节点属性。
、
创建后回车执行便可以看到执行结果。
单击</code>切换到这个视图,便可以查看属性详细信息。
在这个视图中我们可以更加直观看到刚刚创建的节点
同上方法,我们可以创建多个节点,看一下效果吧
也可通过单击界面侧边菜单中数据库图标,在弹出菜中单击 Person 标签来以图形化的形式来查看所有类型为 Person 的节点。
我们再创建一个其他类型(Movie 吧,我喜欢看电影)的节点,您会发现这时会以不同颜色来表示Movie类型的节点。
在侧边菜单中也相应地多了 Movie 对应标签
创建完节点后,我们也可以为这些创建好的节点追加和修改属性(Set方法)
接下来我们为这些创建好的节点创建关系,以便将他们关联起来。
首先通过 MATCH 找出要为其添加关系的节点,这里 a,b 分别代表一个节点,Person 为节点类型,可以将后面 {} 中的内容想象为查询条件。然后通过 MERGE 命令来创建节点之间的关系,箭头方向是有一定意义,不要写反,箭头中间 [] 定义了关系对象。
也可以为不同类型的节点指定他们之间的关系。
可以在关系对象中指定关系的属性。
网友评论