您的位置:首页 > 数据库

数据库~neo4j的基本语句

2017-12-26 14:35 375 查看
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 =no
4000
de(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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: