CREATE命令 :
java
CREATE (
<node-name>:<label-name>
{
<Property1-name>:<Property1-Value>
........
<Propertyn-name>:<Propertyn-Value>
}
)
字段说明
CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" }),使用此命令后,展示的Table信息如下:
java
{
"identity": 96,
"labels": [
"Dept"
],
"properties": {
"location": "Hyderabad",
"deptno": 10,
"dname": "Accounting"
}
}
MATCH命令
match 的命令语法:
java
MATCH
(
<node-name>:<label-name>
)
使用 MATCH (dept:Dept) return dept 可以得到# RETURN 命令
RETURN命令语法:
java
RETURN
<node-name>.<property1-name>,
........
<node-name>.<propertyn-name>
return命令 不能单独使用
MATCH & RETURN匹配和返回
使用 MATCH (dept: Dept)
RETURN dept.deptno,dept.dname,dept.location得到:
CREATE+MATCH+RETURN命令
创建 CREATE (cc:CreditCard{id:"5001",number:"1234567890",cvv:"888",expiredate:"20/17"})
查询 MATCH (cc:CreditCard)
RETURN cc.id,cc.number,cc.cvv,cc.expiredate
CREATE创建标签
语法 :
java
CREATE (<node-name>:<label-name>)
使用CREATE (google1:GooglePlusProfile) 得到
多个标签到节点
语法:
java
CREATE (<node-name>:<label-name1>:<label-name2>.....:<label-namen>)
使用 CREATE (m:Movie:Cinema:Film:Picture)
单个标签到关系
语法 :
java
CREATE (<node1-name>:<label1-name>)-
[<relationship-name>:<relationship-label-name>]
->(<node2-name>:<label2-name>)
例如 : CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)
WHERE子句
简单WHERE子句语法
WHERE <condition>
复杂WHERE子句语法
WHERE <condition> <boolean-operator> <condition>
我们可以使用布尔运算符在同一命令上放置多个条件。 请参考下一节,了解Neo4j CQL中可用的布尔运算符。
condition的语法:
java
<property-name> <comparison-operator> <value>
Neo4j CQL中的布尔运算符
Neo4j CQL中的比较运算符
DELETE删除
- 删除节点。
- 删除节点及相关节点和关系
语法 :
java
DELETE <node-name-list>
MATCH (e: Employee) delete e
DELETE节点和关系子句语法
java
DELETE <node1-name>,<node2-name>,<relationship-name>
java
MATCH (cc: CreditCard)-[rel]-(c:Customer)
DELETE cc,c,rel
REMOVE删除
Neo4j CQL REMOVE命令用于
- 删除节点或关系的标签
- 删除节点或关系的属性
Neo4j CQL DELETE和REMOVE命令之间的主要区别 -
- DELETE操作用于删除节点和关联关系。
- REMOVE操作用于删除标签和属性
Neo4j CQL DELETE和REMOVE命令之间的相似性 -
- 这两个命令不应单独使用。
- 两个命令都应该与MATCH命令一起使用。
语法 :
java
REMOVE <property-name-list>
java
CREATE TABLE BOOK(
id number,
title varchar2(20),
pages number,
price number
);
INSERT INTO BOOK VALUES (122,'Neo4j Tutorial',340,250);
MATCH (book { id:122 })
REMOVE book.price
RETURN book
SET子句
Neo4j CQL 已提供 SET 子句来执行以下操作。
- 向现有节点或关系添加新属性
- 添加或更新属性值
java
SET <property-name-list>
<属性名称列表>语法:
<node-label-name>.<property1-name>,
<node-label-name>.<property2-name>,
....
<node-label-name>.<propertyn-name>
xml
MATCH (book:Book)
SET book.title = 'superstar'
RETURN book
ORDER BY排序
语法:
ORDER BY <property-name-list> [DESC]
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name