Neo4j CQL基本命令使用

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、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(*)

十三、关系函数

 

 

 

Neo4j CQL(Cypher Query Language)是用于查询和操作Neo4j图数据库的语言。它提供了一组强大的功能,使用户能够对图数据库中的节点和关系进行灵活的查询和操作。 在Neo4j CQL中,你可以使用MATCH命令来指定要匹配的节点和关系,并使用RETURN子句来返回所需的结果。与SQL类似,Neo4j CQL还提供了一些聚合函数,如COUNT、SUM、MIN、MAX和AVG,用于对节点和关系进行聚合操作。可以使用聚合函数来处理一组节点并返回聚合值,类似于SQL中的GROUP BY子句。 此外,Neo4j CQL还提供了一组关系函数,用于获取关系的细节,如开始节点、结束节点等。这些关系函数可以在MATCH命令使用,以便在查询中获取所需的关系信息。 关于数据库备份和恢复,当你需要对Neo4j数据进行备份、还原或迁移时,你可以使用neo4j-admin工具。在进行这些操作之前,你需要关闭Neo4j服务。使用neo4j-admin dump命令可以将数据导出到一个备份文件,而使用neo4j-admin load命令可以从备份文件中导入数据进行恢复。 总结起来,Neo4j CQL提供了丰富的功能来查询和操作图数据库,包括MATCH命令、RETURN子句、聚合函数和关系函数。同时,使用neo4j-admin工具可以进行数据库备份和恢复操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Neo4j - CQL使用](https://blog.youkuaiyun.com/weixin_43939924/article/details/125131249)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值