ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Neo4j学习Day6~7

2021-06-09 22:32:20  阅读:242  来源: 互联网

标签:语法 CQL Day6 id 学习 stu Neo4j 节点


Neo4j学习Day6~7

1.Neo4j CQL字符串函数

字符串列表

S.No.功能描述
1toupper它是用来改变所有的字母为大写字母。
2lower它是用来改变所有的字母为小写字母。
3SUBSTRING它是用来获得一个给定的String的子字符串。

1.1 toupper

toupper(<input-string>)

注意,<input-string>可以是Neo4j的数据库节点或者关系属性名。

1.2 lower

lower(<input-string>)

注意,<input-string>可以是Neo4j的数据库节点或者关系属性名。

1.3 substring

substring(<input-string>,<startIndex>,<endIndex>)

在Neo4j的CQL,如果一个字符串包含N个字母,那么它的长度为n和指数从0开始,并在N-1结束。

<startIndex>是指数值子字符串函数。

<endIndex>是可选的。 如果我们忽略它,则返回从startIndex到指定的字符串结束的字符串的子字符串。

【示例】接下来将一次性对上面3个函数进行示例

  • 打开数据浏览器
  • 输入以下命令创建出一个stu节点
CREATE(stu:Student{id:'1001',name:'abc',age:'19'})
CREATE(stu:Student{id:'1002',name:'def',age:'17'})
MATCH(stu:Student)
RETURN stu.id,stu.name,stu.age

  • 现在先行尝试toupper函数。
match(stu:Student)
return stu.id,toupper(stu.name),stu.age

**【注意】**如果按照上面命令,使用的是upper函数,由于Neo4j在4.2.6版本是不支持的,但是会提示你使用toupper函数。同理,lower()也要修改为tolower()。如下面命令第一行。

The function upper() is no longer supported. Please use toUpper() instead (line 2, column 15 (offset: 34))
"RETURN stu.id AS `stu.id`, upper(stu.name) AS `upper(stu.name)`, stu.age AS `stu.age`"
  • 接下来使用substring()函数
match(stu:Student)
return stu.id,substring(stu.name,0,2),stu.age

得到如下结果。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-guHk1FvM-1623248491722)(https://ftp.bmp.ovh/imgs/2021/06/a3a584f6c4a6540b.png)]

2.聚合函数

S.No.聚集功能描述
1count它返回由MATCH命令返回的行数。
2MAX它返回从一组由MATCH命令返回行的最大值。
3MIN它返回从一组由MATCH命令返回行的最小值。
4sum它返回由MATCH命令返回的所有行的总和值。
5AVG它返回由MATCH命令返回的所有行的平均值。

2.1 count

count(<value>)

其中,<value>可能是*,一个节点或关系标签名称或属性名称。

2.2 max

MAX(<property-name> )

2.3 min

min(<property-name>)

注意,<property-name>应该是一个节点或关系的名称。

2.4 AVG

AVG(<property-name> )

2.5 SUM

sum(<property-name>)

【示例】

  • 接下来使用其中的若干函数进行基本的使用。
  • 如上面示例所创建的stu节点。

输入以下命令。

match(stu:Student)
return count(stu.id)
--返回couny(stu.id)为2
match(stu:Student)
return max(stu.id)
--返回id='1002'

3.Neo4j CQL - 功能关系

语法如下:

STARTNODE (<relationship-label-name>)

注意:

<relationship-label-name>可能是从Neo4j数据库节点或者关系的属性名。

4.Neo4j的索引操作

  • 创建索引
  • DROP INDEX

4.1 创建索引

语法如下:

CREATE INDEX ON :<label_name> (<property_name>)

注意:-

冒号(:)操作符是用来指一个节点或关系标签名称。

上述语法描述了它的<PROPERTY_NAME> <LABEL_NAME>节点或关系创建一个新的指标。

4.2 删除索引

DROP INDEX语法:

DROP INDEX ON :<label_name> (<property_name>)

注意:

冒号(:)操作符是用来指一个节点或关系标签名称。

上面的语法描述它丢弃创建的现有指数节点或关系的<PROPERTY_NAME>,<LABEL_NAME>

5.唯一约束

5.1 创建唯一约束

Neo4j的CQL提供了“创建约束”命令创建的节点或关系的属性的唯一约束。

其语法如下:

CREATE CONSTRAINT ON (<label_name>)
ASSERT <property_name> IS UNIQUE

语法说明

S.No.语法元素描述
1创建约束ON这是一个Neo4j的CQL关键字。
2<LABEL_NAME>这是一个节点或关系的标签名称。
3ASSERT这是一个Neo4j的CQL关键字。
4<PROPERTY_NAME>这是一个节点或关系的属性名。
5UNIQUE这是一个Neo4j的CQL关键字通知Neo4j的数据库服务器上创建一个唯一约束。

注意:

上述语法描述了它的<PROPERTY_NAME> <LABEL_NAME>节点或关系创造了一个独特的约束。

5.2 删除唯一约束

Neo4j的CQL提供了“DROP约束”命令从一个节点或关系的财产删除现有的唯一约束。

DROP CONSTRAINT ON (<label_name>)
ASSERT <property_name> IS UNIQUE

语法说明

S.No.语法元素描述
1DROP约束这是一个Neo4j的CQL关键字。
2<LABEL_NAME>这是一个节点或关系的标签名称。
3ASSERT这是一个Neo4j的CQL关键字。
4<PROPERTY_NAME>这是一个节点或关系的属性名。
5UNIQUE这是一个Neo4j的CQL关键字通知Neo4j的数据库服务器上创建一个唯一约束。

注意

上述语法描述了从<LABEL_NAME>节点或关系的<PROPERTY_NAME>drop的唯一约束。

标签:语法,CQL,Day6,id,学习,stu,Neo4j,节点
来源: https://blog.csdn.net/server643/article/details/117755603

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有