Neo4j学习笔记

Neo4j CQL - CREATE命令

CREATE (
   <node-name>:<label-name>
   {     
      <Property1-name>:<Property1-Value>,
      ........
      <Propertyn-name>:<Propertyn-Value>
   }
)
//样例:创建两个Person实体包含name、age两个属性
CREATE (WLC:Person{name:WangLC, age:25})
CREATE (Z:Person{name:Zhang, age:35})

Neo4j CQL - MATCH命令

MATCH 
(
   <node-name>:<label-name>
)
//样例:找到Person下的name为GUAN、WangLC节点创建Teacher关系,Zhang-Teacher-WangLC
MATCH (p1:Person {name:'Zhang'}), (p2:Scholar {name:'WangLC'}) CREATE (p1)-[:Teacher]->(p2)
//返回所有Person标签的节点
MATCH (p:Person) RETURN p

Neo4j CQL - RETURN命令

RETURN 
   <node-name>.<property1-name>,
   ........
   <node-name>.<propertyn-name>
//样例:return一般用于检索实体属性,RETURN一般结合match命令使用单独不能使用
MATCH(WLC:Person)
RETURN WLC.name,WLC.age;
//或者直接全部显示
MATCH(WLC:Person)
RETURN WLC;

Neo4j CQL - 创建关系、检索关系命令

MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>)
CREATE  
    (<node1-label-name>)-[<relationship-label-name>:<relationship-name>
    {<define-properties-list>}]->(<node2-label-name>)
RETURN <relationship-label-name>
//样例:创建Zhang-Teacher-WangLC关系并且包含在2016年-2019年属性信息,单项关系
MATCH (p1:Person{name:'Zhang'}),(p2:Person{name:'WangLC'})
CREATE  (p1)-[t:Teacher{date:"2016.9-2019.6"}]->(p2)
RETURN r;
//检索关系
MATCH (p1:Person{name:'Zhang'})-[t:Teacher]->(p2:Person{name:'WangLC'}) return t;

Neo4j CQL -WHERE 条件语句

WHERE <condition> <boolean-operator> <condition>
boolean-operator:OR|AND|XOR|NOT
<condition>:<property-name> <comparison-operator> <value>
comparison-operator:<>|>|<|>=|<=|=
//样例
match(p:Person)where p.name="WangLC" or p.name="Zhang" return p;

Neo4j CQL - DELETE 删除语句

DELETE <node-name-list>
//删除(永久删除)查询到的节点
DELETE <node1-name>,<node2-name>,<relationship-name>
//删除查询到的节点以及关系
//样例 删除节点
MATCH(p1:Person(name:"Zhang")) DELETE p1;
//删除 节点、关系
MATCH(p1:Person{name:"Zhang"})-[r:Teacher]->(p2:Person{name:"WangLC"}) DELETE p1,p2,r

Neo4j CQL - REMOVE 删除语句

REMOVE <property-name-list>
//remove命令用于删除节点属性,节点标签
//样例 由于给person节点添加了错误的pages属性因此要删除掉Person节点的pages属性
match(p:Person)remove p.pages return p;

Neo4j CQL - SET 添加属性语句

SET  <property-name-list>
//样例 给person添加birthday属性
match(p:Person{name:'Zhang'}) set p.birthday='20181210' return p; 

Neo4j CQL - Sorting 排序语句

ORDER BY  <property-name-list>  [DESC]
//样例 按照出生年从大到小排序
match(p:Person)return p order by p.born desc;
// 按照出生年从小到大排序
match(p:Person)return p order by p.born;

 

posted @ 2018-12-10 11:41  WangLC  阅读(259)  评论(0编辑  收藏  举报