Skip to main content

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