Neo4j图数据库

    **创建节点**
CREATE (n:Person { name : 'Andres'});
    生成一个Person类别节点,该节点有一个名为name的属性,其值为Andres

    **创建节点关系**
start a=node(0),b=node(1) create (a)-[n:gift]->(b)return n
    建立两个节点之间的关系 node(x),x指代节点的下标,cerate(a)-[n:gift]->(b)指a节点通过gift关系指向了b节点

    **属性查询**
Match (n: Person) where n.name = 'Bndres' return n
Match (n: Person) where n.age = 12 return n
    通过节点的属性值去查找节点,条件示例 
            =   等于
            >   大于
            >=  大于等于
            <   小于
            <=  小于等于
            <>  不等于

    **按照ID查询**
 方法一 Start  n = node(1)  return  n
 方法二  Match  (n:Person)  where  ID(n)=1  return  n 
    按照ID查找节点

    **关系查询**
正向查询,当前节点为主要节点,关系由该节点发出
方法一 
Match (n:Person)-[: gift]->(end:Person) where n.name='Andres'  return end
方法二
Match (n:Person{name: 'Bndres'})-[:gift]->(end:Person) return end   


反向查询,该节点是关系的接收者,即关系不是由该节点发出
Match (n:Person{name: 'Bndres'})<-[:gift]-(end:Person) return end

无方向查询,不限定关系的发出者和接收者
Match (n:Person{name: 'Bndres'})-[:gift]-(end:Person) return end

    **删除节点**
MATCH (n:Person { name:'Andres' })DETACH DELETE n;删除节点的同时也会把该节点的所有关系也删除
Match (n:Person{name:'Bndres'}) delete n;用该种方式删除节点之前,必须确认该节点与其他节点不存在关系,否则必须先删除其他节点
Match (x:Person{name:'Bndres'})-[r:gift]->(y:Person{name:'Andres'}) delete  r 删除两个节点之间指定的关系,该关系由前一个节点发出,本语句中的关系为gift

    **查询某个类别下的人数**
    不按照属性查询
    Match (n:Person)  return  count(n)
    按照属性查询
    方法一:Match (n:Person) where  n.name='Andres'   return  count(n)  
    方法二: Match (n:Person{name:'Andres'})  return  count(n) 
    方法三:    Match (n:Person)  return  count(n.name='Andres')

        **Limit关键字查询**
    Match (n:Person)  return  n  limit  1   查询Person类别下的1个人

        ** Distinct关键字**
    Match (n:Person)   return  distinct(n.name) 依照distinct后面的属性进行分组

        **Order By**
    Match(n:Person)   return  n  order by n.name        (默认升序)
    Match(n:people)   return  n  order by n.name  asc   (升序)
    Match(n:people)   return  n  order by n.name  desc   (降序)

        **In**
    Match  (n)  where ID(n)  IN[7,3]  return  n 查询ID为7或3的节点

        **With**
    Match  (n)   where  n.name  starts(ends)  with 'xx'  return  n 查询以xx开头(结尾)的节点

        **Contains**
    Match  (n)  where  n.name  Contains  're'  return  n 模糊查询 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值