在关系中
--
表示无方向的关系
-->
表示有方向的关系
-[r]->
则给关系赋予一个变量名,方便对这个关系进行操作
-[r:配偶]->
匹配关系为 配偶
的类型
- 1)创建:CREATE
- 2)匹配:MATCH,OPTIONAL MATCH
- 3)删除:DELETE,REMOVE,DROP
- 4)修改:SET
CREAT
创建统一用 create
命令,关系的创建和创建节点差不多,唯一区别就是,关系是有方向的,而且关系用 []
表示,而节点用 ()
表示。
create(n:'急性左心衰竭')
match(n),(b) where n.label='急性左心衰竭' and b.label='烦躁'
create(n)-[r:'临床表现为']->(b)
return n,r,b
match(n) where ID(n) = 21798 set
n.label='急性左心衰竭',n.clinical='烦躁' return n
RETURN
用于返回结果
// 执行列表操作,用 return 返回结果
return [1,'1',True,'1'+'2']
MATCH
在 Neo4j 中,MATCH 命令用于从数据库中获取节点,关系的信息,类似于 SQL 中的 SELECT。RETURN 则是在 MATCH 搜索完成后返回数据,因此 MATCH 必须与 RETURN 同时使用。
// 匹配所有 临床表现 节点
match (n:临床表现) return n
// 匹配 clinical 为 头疼 的 临床表现 节点
match (n:临床表现{name:'头疼'}) return n
// 匹配出有任意关系的两个节点
match p = (n)-[r]->(m) return p
OPTIONAL MATCH
optional match
类似于 match
,不同之处在于 optional match
在匹配不到内容时返回 null
方便查询继续进行,而 match
直接返回查询无结果
因为查询无结果,所以 match
只返回 Table 和 Code 视图窗口,并在 Table 视图窗口显示 查询无结果
。
换成 optional match
可以看到 Table 视图窗口返回了变量 p的值,为 null
optional match
使用方法类似 MATCH
WHERE
就像 SQL
一样, Neo4j
中提供 WHERE
子句来过滤 MATCH
的查询结果
DELETE
删除节点
match (n:'发热') delete n
删除关系
(删除所有叫 临床表现为
的关系)
MATCH ()-[r:'临床表现为']-()
DELETE r
REMOVE
删除一个节点的多个标签
match (n {name :"yaoming"}) remove n:Chinese:Man return n
删除属性
match (andres {name: "yaoming"}) remove andres.age return andres
DROP
用于删除索引
SET
SET语句用于更新节点的标签以及节点和关系的属性。
//设置属性
MATCH (n { name: ' 急性左心衰竭' })
SET n.clinical = '烦躁'
RETURN n
//删除属性
MATCH (n { name: '急性左心衰竭' })
SET n. clinical = NULL
RETURN n
//在节点和关系间拷贝属性
MATCH (at { name: 'Andres' }),(pn { name: 'Peter' })
SET at = pn
RETURN at, pn
//从map中添加属性:当用map来设置属性时,可以使用+=形式的SET来只添加属性,而不删除图元素中已存在的属性。
MATCH (n { name: '急性左心衰竭' })
SET peter += { clinical: '烦躁' , drugs: '吗啡' }
//使用一个SET语句设置多个属性
MATCH (n { name: '急性左心衰竭' })
SET n.clinical = '烦躁', n.drugs = '吗啡'
//设置节点的标签
MATCH (n { name: '烦躁' })
SET n :clinical
RETURN n
//给一个节点设置多个标签
MATCH (n { name: 'Emil' })
SET n :Swedish:Bossman
RETURN n
Original: https://blog.csdn.net/weixin_45811499/article/details/124348173
Author: 一匹聪明的鱼
Title: Cypher使用指南
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/557374/
转载文章受原作者版权保护。转载请注明原作者出处!