neo4j基本语法
首先官网下载压缩包,解压,进入项目文件夹
./bin/neo4j start 启动项目
浏览器打开http://ip:7474
本地浏览器无法访问远程的neo4j时,修改neo4j项目conf/neo4j.conf文件
将红框处的注释去掉即可
输入用户名和密码(都是neo4j),第一次登录会要求重新设置密码,进入如下界面
本地浏览器无法远程登录neo4j时
修改neo4j.conf文件,将红框处的注释去掉
CQL:
create 创建节点
create(stu:Student:Player{id:1,name:'yyk',class:132})
生成一个stu节点,节点标签是Student和Player,节点拥有id,name,class三个属性,属性值中的字符串用' ';
create(节点名称:节点标签{属性名:属性值,属性名:属性值...})
可以create没有属性的节点。
create总是创建节点
merge在节点不存在时创建,存在时无操作;
match & return & where
match(stu:Student) return (stu)
match(stu:Student{id:1}) return (stu.name)
match(stu:Student) where stu.id=1 return (stu)
match.return不能单独使用。
节点关系
create(tea:Teacher{id:1,name:'ljy'})
为了方便测试,先创建一个Teacher标签的节点
使用已有节点创建关系:
match (s:Student),(t:Teacher) create (t)-[r:TEACH{startTime:'2018-06-01'} ]->(s)
创建了一个TEACH关系,开始时间是2018-06-01
match (s:Student),(t:Teacher) create (t)<-[r:STUDY{startTime:'2018-06-01'} ]-(s)
创建了一个STUDY关系,开始时间是2018-06-01
使用新节点创建关系
create (t:Teacher{name:'ljy'})-[r:TEACH{startTime:'2018-06-01'} ]->(s:Student{name:'yyk'})
remove
删除节点的属性
match(t:Teacher) remove t.name
set
增加/修改节点属性
match(t:Teacher) set t.name='yyy' return t
delete
删除节点/关系
match(t:Teacher) delete t
match(s:Student)-[r]-(t:Teacher) delete r,s,t
delete节点时,如果节点之间还有关系会报错
match(t:Teacher) detach delete t 直接将节点和关系一起删除
order by 排序
match(s:Student) return s order by s.id desc,s.name
union 合并查询结果
match(t:Teacher) return t.name
union
match(s:Student) return s.name
limit 限制返回值的个数,与order by一起用时反正order by后面
match(s:Student) return s order by s.id limit 2
skip 跳过前面几行
match(s:Student) return s order by s.id skip 2
返回第三行级以后的数据
in & null
match(s:Student) where s.id in[1,2] and s.name is not null return s
各关键词顺序
match(s:Student) where s.name='yyk' return s order by s.id skip 1 limit 2