Neo4j文档
- Neo4j简介
- Neo4j的安装
访问以下路径: https://neo4j.com/download-center/#community.这里选择社区版就可以.选择3.5.28版本.最新的版本需要JDK11才能运行
下载ZIP并解压后,进入解压目录的bin目录下.执行neo4j.bat console 命令,出现以下字符说明启动成功.
在浏览器中输入http://localhost:7474/ 进行访问.默认用户名和密码分别是neo4j neo4j.登录后提示修改密码,修改即可
- Neo4j的基本概念
-
Neo4j的查询语法
- 新增创建节点
(1) 语句:
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
(2) 创建两个节点,一个子节点Mask.一个父节点OLD_Mask.
(3) Create表示新创建.p是别名.PERSON 表示节点p的标签PERSON的属性. -[r:SON_OF]-> 表示节点p指向节点f,他们之间的关系是SON_OF,这个关系的别名是r,r可以拥有属于自己的属性
(4) return 表示执行这段语句之后,需要返回的对象,return p,r,f 表示返回 节点p,节点f,以及他们之间的关系r
(5) 返回的数据
- 查找指定节点、指定属性、指定关系的节点、关系
(1) 语句:
match (p:PERSON {name:"Mask"})-[r]-(n) return p,r,n
(2) return 后面的别名p还可以利用as 设置指定的返回值名称,如 p as age.
(3) 还可以添加where条件进行查询
(4) 大于30搜索不到数据
- 对查找结果进行排序order by,并限制返回条数 limit
(1) 语句:
match(p:Person) return p order by p.name limit 3
(2) order by关键字与SQL里面是一样的操作,后面跟上需要根据排序的关键字,limit的操作是指定输出前几条
(3) 这里利用order by来指定返回按照Person.name来排序
(4) limit 表示只返回前3条数据
- 节点数据的删除
(1) 删除一个节点必须将存在的关系(Relationship)同时删除掉,不然不会成功
(2) 删除一个存在关系的节点,出现报错
(3) 语句
match(p:Person {name:"name:lisi"}) delete p
(4) 删除节点同时删除关系,成功
(5) 语句
match(p:Person {name:"lisi"})-[r]-() delete p,r
(6) 先通过匹配关键字match找到匹配元素,然后通过delete关键字指定删除
- 删除属性remove命令
(1) remove命令是用来删除节点或者关系的属性
(2) match (p:Person { name:"lisi"}) remove p.age return p
(3) 通过match匹配到Person数据并移除age属性
- neo4j的字符串函数
(1) toupper,tolower,substring,replace四种字符串的操作.分别实现大写,小写,字符串分割,替换功能
(2) 转换大写
(3) 字符串切割
(4) 字符串替换
- 聚合函数AGGREGATION
(1) 常用的聚合函数有COUNT、MAX、MIN、AVG、SUM等五种
(2) 根据匹配的数据执行聚合函数
(3) 语句:
match(p:PERSON) return p.name as name,p.age as age,count(p) as count,max(p.age) as maxAge,min(p.age) as minAge,avg(p.age) as avgAge,sum(p.age) as sumAge
- Neo4j关系函数
(1) 语句
match ()-[r:SON_OF]-() return startnode(r).name as start_node, endnode(r).name as end_node,id(r) as relationship_id ,type(r) as realtionship_type