数据库~neo4j的基本语句

来源:互联网 发布:matlab 矩阵运算 编辑:程序博客网 时间:2024/05/27 00:39

Neo4j是一个高性能的图数据库,具有普通数据库的事务特性,它将数据存储到图网络上,而不是表上。节点的查询和处理速度也是很快的,对于制作图谱等需求的数据存储,还是很实用的。

下面介绍Neo4j的基本语句的使用之“插入”

1、删除所有(先清库)
MATCH (n) DETACH DELETE n
这里写图片描述

2、创建一个Person 名字为a 出生于1997的节点
CREATE (a:Person {name:’a’, born:1997}) return a;
这里写图片描述

3、创建b和c
CREATE (b:Person {name:’b’, born:1997}),(c:Person {name:’c’, born:1961}) Return b,c
这里写图片描述

4、创建小明和小红的错误写法1
create (n:people{name:’小明’,age:’18’,sex:’男’}) return n;
create (n:people{name:’小红’,age:’18’,sex:’女’}) return n;
这里写图片描述

改为
create (n:people{name:’小明’,age:’18’,sex:’男’}), (n:people{name:’小红’,age:’18’,sex:’女’}) return n; 仍然错误
这里写图片描述

5、逐条插入小明和小红,才是正确写法,如果不用create,可以使用merge,则可以插入多条
create (n:people{name:’小明’,age:’18’,sex:’男’})return n;
这里写图片描述

6、根据id建立关系
这里写图片描述

将之前定义的小红和小明建立关系,通过他们的id
start m =node(1025),f=node(1024) create (m)-[n:gift]->(f) return m,f
这里写图片描述

7、新创建一个a和b,此时这句话,相当于新建了一个a和b并赋予关系,并不是给之前的name为a和b的Person建立关系
CREATE (m:Person{name:’a’})-[:gift]->(f:Person{name:’b’}) return m,f
这里写图片描述

8、那么如何给之前定义成功的接点之间建立联系,用match
//MATCH (n:Pesson{name:’a’}),(b:Pesson{name:’张三’}) Merge(n)-[:贿赂]->(b)
MATCH(n:Person{name:’a’,born:1997}),(b:Person{name:’b’,born:1997}) merge(n)-[:老师]->(b)

9、创建节点同时指定关系
match (a:Test),(b:Test)
where a.name=’杜甫’ and b.name=’李白’
create (a)-[:哈哈]->(b)

10、创建一个新的节点,直接和已存在的点建立关系
match (a:Test{name:’杜甫’}) merge (b:Test{name:’d样’})-[:哈哈]->(a);

下面介绍Neo4j的基本语句的使用之“查询”

1、查询所有
MATCH (n) RETURN n
这里写图片描述

2、查询所有标签中,出生于1997的
Match(n{born:1997}) return n
这里写图片描述
查询年龄为18的Person,结果不包含people
MATCH (n:Person{age:’18’}) return n;

3、指定查找个数
MATCH (n:Test) RETURN n LIMIT 25
查找Test 25个

4、查询一级关系
match q=(n:A{name:’宅院2’})-[]-()return q;
这里写图片描述

5、查询两级关系
match q=(n:A{name:’宅院2’})-[]-(),p=(n:A{name:’宅院2’})-[]-()-[]-() return p,q;
这里写图片描述

6、层级查找
match p=(n:A)-[n1:包含]-(),q=()-[n2:住在]-()return p,q;
这里写图片描述

match p=(n:A)-[n1:包含]-()return p;
这里写图片描述

match p=(n:A)-[]-(),q=()-[n1:还有]-() return p,q;
这里写图片描述
7、查找三层关系
match p=(n:A)-[]-(),q=(n1:B)-[]-() return p,q;

下面介绍Neo4j的基本语句的使用之“修改”

1、将名字为a的节点,的born 修改成2003
MATCH (n:Person)WHERE n.name=”a”SET n.born = 2003RETURN n;
这里写图片描述

下面介绍Neo4j的基本语句的使用之“删除”

1、删除节点c
这里写图片描述
2、删除节点d
这里写图片描述
**解决办法
先删除a和d之间的关系**
MATCH(n:Person{name:’a’,born:1997}),(b:Person{name:’d’,born:1987}) merge(n)-[p:孩子]->(b) delete p;
这里写图片描述
再删除d
MATCH(n:Person{name:’d’})delete n;
3、删除节点b,以及b的关系
MATCH(n:Person{name:’a’,born:1997}),(b:Person{name:’b’,born:1997}) merge(n)-[p:老师]->(b) delete p,b;
4、删除Test及其所有关系
match p=(n:Test)-[]-() delete p;

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 隆隆拼音 中国合伙人海报 海报的图片 海报图片素材 海报背景图 海报设计图 运动会海报图 淘宝背景海报素材图 保护动物海报手绘图 淘宝海报背景图素材 介绍自己的海报简图 海报宣传图 美甲海报样式图 美容院海报宣传广告图 海报版面设计图大全 运动会海报背景图 以读书为主题的海报图 ps制作海报艺术字 海报艺术字 海报艺术字设计 海报机 海报报价 海报 价格 图片海报 落地式海报架 落地海报架 台式海报架 海报架组装 婚庆海报架 木质海报架 高档海报架 超市海报架 展示架海报 t型海报架 不锈钢海报架 活动海报架 银行海报架 户外海报架 铝合金双面海报架 注水海报架 婚礼海报架