赞
踩
Neo4j基本入门
Javaneo4j
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
一、基本概念
neo4j存储节点
1. 标签(Label)
在Neo4j中,一个节点可以有一个以上的标签,从现实世界的角度去看,一个标签可以认为节点的某个类别,比如BOOK、MOVIE等等。
2. 节点(Node)
节点是指一个实实在在的对象,这个对象可以有好多的标签,表示对象的种类,也可以有好多的属性,描述其特征,节点与节点之间还可以形成多个有方向(或者没有方向)的关系。
3. 关系(Relationship)
用来描述节点与节点之间的关系,这也是图数据与与普通数据库最大的区别,正是因为有这些关系的存在,才可以描述那些我们普通行列数据库所很难表示的网状关系,比如我们复杂的人际关系网,所谓的六度理论,就可以很方便的用图数据库进行模拟,比如我们大脑神经元之间的连接方式,都是一张复杂的网。
有一点需要重点注意,关系可以拥有属性。
4. 属性(Property)
描述节点的特性,采用的是Key-Value结构,可以随意设定来描述节点的特征。
二、查询语法(CQL)
序号
关键字
关键字作用
1
CREATE
创建
2
MATCH
匹配
3
RETURN
加载
4
WHERE
过滤检索条件
5
DELETE
删除节点和关系
6
REMOVE
删除节点和关系的属性
7
ORDER BY
排序
8
SET
添加或更新属性
1. 基本查找match return
neo4j使用的查询语法是Cypher语法与我们常用的SQL查询语法不一样,但是在初步的学习之后,觉得他们之间使用的思路有很多重叠的地方,整个语句的执行流程也和SQL有比较多相似的地方。
# 创建两个节点,一个子节点(Mask),一个父节点(Old_mask),他们之间是属于父子关系
# 其中create表示新建
# p 表示这个节点的别名
# PERSON 表示节点p的标签PERSON的属性
# {} 大括号中间的键值对,表示p这个节点作为PERSON这个标签类别所拥有的属性
# -[r:SON_OF]-> 表示节点p指向节点f,他们之间的关系是SON_OF,这个关系的别名是r,r可以拥有属于自己的属性
# return 表示执行这段语句之后,需要返回的对象,return p,r,f 表示返回 节点p,节点f,以及他们之间的关系r
create(p:PERSON {name:"Mask",age:30,heigh:180,weight:80})-[r:SON_OF]->(f:PERSON {name:"OLD_Mask",age:55,heigh:160,weight:60}) return p,r,f
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。