**创建节点**
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 模糊查询