Neo4j 图数据库系统
修改关系
- 由于底层存储关系时,是拼接nodeid, 所以不能直接修改,只能先删除再修改
match(n)-[r:拥有]->(m) create(n)-[r2:包括]->(m) set r2=r with r delete r
查询多个标签
- A和B,
标准写法
match (a:资源:视频) return a
错误写法
// 这种写法,顺序不同也不能查出,可能存在问题,不推荐 match (a) where labels(a) = ['资源','图片'] return a
// 查不出来 match (a) where labels(a) in ['图片','资源'] return a
- A或B
match (a) where a:图片 or a:资源 return a
查询不包含某个标签的节点
match (m) where ( not (m:资源 or m:课程 or m:知识点 ) ) return m
查询多个关系,A或者B
- type(r) in []
match p=(m)-[r]->(n) where type(r) in ['具有','问题'] return p
- [r:关系1|关系2]
match p=(m)-[r:`习题`|`具有`]->(n) return p
关系 A和B
- 两个关系都有
match (a)-[:`包含`]->(b),(a)-[:`具有`]->(b) return a,b