neo4j

发布时间 2023-11-29 15:15:54作者: 数据改变人生

-- 创建节点语句

CREATE (
<node-name>:<label-name>
{
<Property1-name>:<Property1-Value>
........
<Propertyn-name>:<Propertyn-Value>
}
);

其中的node-name 是节点名称

label-name 是标签名称

propert1-name是属性名称和property-value是属性值

例如
单节点单标签

create (p:Person{name:"alicy"});

create (p:Person{name:"Tom", sex:"男"});

 


单节点多标签
CREATE (m:Movie:Cinema:Film:Picture)

 

 

 

-- match 语法
方法一:match (x:Person{name:"Tom"}) return x;

方法二:
match (p:Person)
where p.name="Tom"
return p;

这两种是等价的,都是查找到Person下的名字叫Tom的节点

 

 

 

返回特定节点的特定属性
返回名字叫Tom的性别属性:
match (p:Person{name:"Tom"}) return p.sex;

 

创建单标签到关系

关系都是有方向的,从开始到结束

CREATE (<node1-name>:<label1-name>)-
	[<relationship-name>:<relationship-label-name>]
	->(<node2-name>:<label2-name>)
node1-name:是from的节点名称、label1-name是标签名称
node2-name:是to的节点名称 label2-name是标签名称
relationship-name:关系名称
relationship-label-name:关系标签名称
为alicy和Tom创建恋人关系
match(a:Person{name:"alicy"}),(b:Person{name:"Tom"}) 
create (a) 
-[rl:love]
->(b);
match(a:Person{name:"Tom"}),(b:Person{name:"alicy"}) 
create (a) 
-[rl:love]
->(b);
相当于查出alicy和Tom,并分别叫上别名a,b ,为a,b建立关系

 

 -- 移除关系,让alicy变心

match(a:Person{name:"alicy"})-[lv]->(b:Person{name:"Tom"})   delete  lv;

 -- alicy 爱上了laowang

match(a:Person{name:"alicy"}),(b:Person{name:"LaoWang"})

create (a)

-[lv:love]

->(b);

 

-- Tom 发现后自动解除关系,并退出
match(a:Person{name:"Tom"})
-[lv]->(b:Person{name:"alicy"})
delete a,lv
;
 

 -- 删除节点

match (a:Movie) delete a;