Neo4j CQL基本命令使用

本文详细介绍了Neo4j图形数据库的CQL命令,包括CREATE节点、MATCH&RETURN数据、WHERE子句筛选、DELETE删除操作、REMOVE移除标签和属性、SET更新属性、Sorting排序、LIMIT和SKIP限制查询、MERGE合并节点、ID属性使用、字符串函数应用以及聚合和关系函数等关键知识点。
摘要由CSDN通过智能技术生成

一、CREATE命令

  • 创建一个没有属性的节点
CREATE (<node-name>:<label-name>)

 eg:创建一个"Employee"节点

CREATE (emp:Employee)

emp:表示节点名

Employee:为节点emp节点的标签名称

  • 创建带有属性的节点
CREATE (
   <node-name>:<label-name>
   { 	
      <Property1-name>:<Property1-Value>
      ........
      <Propertyn-name>:<Propertyn-Value>
   }
)

 eg:创建具有属性(deptno,dname,location)的Dept节点

CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })

二、MATCH&RETURN

在Neo4j CQL中不能单独使用MACTCH或RETURN命令,我们需要合并这两个命令从数据库中检索数据。

Neo4j使用CQL MATCH + RETURN命令 -

  • 检索节点的某些属性
  • 检索节点的所有属性
  • 检索节点和关联关系的某些属性
  • 检索节点和关联关系的所有属性

MATCH命令语法

MATCH 
(
   <node-name>:<label-name>
)

RETURN命令语法

RETURN 
   <node-name>.<property1-name>,
   ...
   <node-name>.<propertyn-name>

例1:检索节点Dept的数据,指定相应的属性

得到查询结果:

例2:检索节点Dept的属性,而不需要指定其属性

三、WHERE子句

  • 简单WHERE子句语法
WHERE <condition>
  • 复杂WHERE子句语法
WHERE <condition> <boolean-operator> <condition>
  • <condition>语法
<property-name> <comparison-operator> <value>

布尔运算符:

比较运算符:

根据条件查询节点:

match(c:CreditCard)
where c.id='5001'
return c

使用WHERE子句创建关系:

       创建两个现有节点之间的关系

MATCH (c:Customer),(cc:CreditCard) 
WHERE c.id = "1001" AND cc.id= "5001" 
CREATE (c)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc) 
RETURN r

             在其中相同标签的关系可以新建多个,可以使其id及属性不同。

四、DELETE删除

删除节点:

删除节点及其之间的关系:

查找节点之间的关系:

五、REMOVE删除

delete操作用于删除节点和关联关系;

remove操作用于删除标签和属性;

删除某个节点的某个属性:

MATCH (book { id:122 })
REMOVE book.price
RETURN book

 删除所有该节点的某个属性:

MATCH (dc:DebitCard) 
REMOVE dc.cvv
RETURN dc

六、SET子句

向现有节点或关系添加新属性;

添加或更新属性值;

MATCH (dc:DebitCard)
SET dc.atm_pin = 3456
RETURN dc

七、Sorting排序

对MATCH查询返回的结果进行排序,可以对其进行升序或降序对行进行排序。默认情况下是按照升序进行排序,如果要按降序对它们进行排序,我们需要使用DESC子句。

示例:

降序排序:

 八、LIMIT和SKIP子句

“LIMIT”子句来过滤或限制查询返回的行数。 它修剪CQL查询结果集底部的结果。也就是限制返回查询到结果的前几行;

SKIP子句用来修剪查询结果的顶部,输出结果应该跳过前面的多少行;

九、MERGE合并

MERGE命令是CREATE命令和MATCH命令的组合。

MERGE语法:

MERGE (<node-name>:<label-name>
{
   <Property1-name>:<Pro<rty1-Value>
   .....
   <Propertyn-name>:<Propertyn-Value>
})

与Create命令的区别是,create命令总是向数据库中添加新的节点,不管节点是否相同,而merge命令会检查该节点是否存在,若已经存在则进行合并,若不存在则新增。

十、ID属性

在neo4j中,“id”是节点和关系的默认内部属性。当我们创建一个新的节点或关系时,Neo4j数据库服务器将为内部使用分配一个数字。它会自动递增。

十一、字符串函数

字符串索引从0开始,<endIndex>是可选的。 如果我们省略它,那么它返回给定字符串的子串从startIndex到字符串的结尾。

十二、聚合函数

  • COUNT
MATCH (e:Employee) RETURN COUNT(*)

十三、关系函数

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值