其他分享
首页 > 其他分享> > Neo4j学习Day5

Neo4j学习Day5

作者:互联网

Neo4j学习Day5

第五天依然是语法的掌握学习,大致目录如下。

文章目录


现在正式开始第五天的学习~~

1.排序

1.1 CQL ORDER BY 语句

Neo4j的CQL语句提供排序的命令,我们可以排序行升序或者降序

1.2 子句语法

ORDER BY  <property-name-list>  [DESC]	
S.No.语法元素描述
1ORDER BY这是一个Neo4j的CQL关键字。
2<property-name-list>它是在分拣使用的属性的列表。
3DESC它是用于指定降序order.It是可选的一个Neo4j的CQL关键字。

其中属性名语法说明如下:

<node-label-name>.<property1-name>,
<node-label-name>.<property2-name>, 
.... 
<node-label-name>.<propertyn-name> 
S.No.语法元素描述
1<node-label-name>这是一个节点的标签名称。
2<property-name>它是一个节点的属性名。

这里需要注意:我们应该用逗号(,)运算符分隔的属性名称列表。

【举例】输出降序id表

如上图所示,这是降序前所展示的列表。

输入以下代码后如下图所示。

MATCH(person:Person)
RETURN person.id,person.name,person.age
ORDER BY person.id DESC

2.UNION子句

它结合并返回来自两个组结果共同行到单个组结果。 它不会从两个节点返回重复的行。

2.1限制:

结果列类型,并从两个结果集的名字必须匹配,这意味着列名称应该是相同的,列的数据类型应该是相同的。

2.2UNION子句语法

<MATCH Command1>
   UNION
<MATCH Command2>

语法说明

S.No.语法元素描述
1<MATCH COMMAND1>这是CQL match命令由UNION子句中使用的一个。
2<MATCH COMMAND2>这是CQL match命令两到由UNION子句中使用。
3UNION这是UNION子句的Neo4j的CQL关键字。

注意

如果这两个查询不返回相同的列名和数据类型,那么它抛出一个错误。

3.UNION ALL子句

它结合并返回两个结果集的所有行成一个单一的结果集。 它还返回由两个节点重复行。

3.1 限制

结果列类型,并从两个结果集的名字必须匹配,这意味着列名称应该是相同的,列的数据类型应该是相同的。

3.2 UNION ALL子句语法

<MATCH Command1>
UNION ALL
<MATCH Command2>

语法说明

S.No.语法元素描述
1<MATCH COMMAND1>这是CQL match命令由UNION子句中使用的一个。
2<MATCH命令2>这是CQL match命令两到由UNION子句中使用。
3UNION ALL这是UNION ALL子句的Neo4j的CQL关键字。

注意

如果这两个查询不返回相同的列名和数据类型,那么它抛出一个错误。

4.限制和条款

4.1 限制limit子句

LIMIT <number>

语法说明

S.No.语法元素描述
1limit这是一个Neo4j的CQL关键字。
2<number>它是一个跨值。

比如说,我们想返回表中前面两行的信息,就可以在RETURN后再加上LIMIT子句。

4.2 SKIP条款

SKIP <number>

语法说明

S.No.语法元素描述
1SKIP这是一个Neo4j的CQL关键字。
2<number>它是一个跨值。

它的大致意思是跳过前number个信息。比如使用SKIP 2后,运行后会自动跳过前面2行的信息。

5.CQL合并

Neo4j的CQL MERGE使用命令

MERGE命令相当于CREATE命令和MATCH命令的组合。

MERGE = CREATE + MATCH

Neo4j的CQL MERGE图中的给定模式命令搜索,如果存在则返回结果

如果它不在图中存在,则它创建新的节点/关系并返回结果。

Neo4j的CQL MERGE语法

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

语法说明

S.No.语法元素描述
1MERGE这是一个Neo4j的CQL关键字。
2<node-name>它是一个节点或关系的名称。
3<label-name>这是一个节点或关系的标签名称。
4<PROPERTY_NAME>这是一个节点或关系的属性名。
5<PROPERTY_VALUE>这是一个节点或关系的属性值。
6使用冒号(:)操作符来分隔属性名称和一个节点或关系的价值。

【举例】

1.首先用MERGE创建出一个节点信息以及属性。

2.用MATCH-RETURN尝试返回其运行结果。

6.IN操作符

IN[<Collection-of-values>]

语法说明:

S.No.语法元素描述
1in这是一个Neo4j的CQL关键字。
2[它告诉Neo4j的CQL该值的集合的开始。
3]它告诉Neo4j的CQL该值的集合的末尾。
4<Collection-of-values>它是由逗号运算符分隔值的集合。

【举例】

上图所示的是文档中创建过的person节点中,将id='1001',id='1002'的信息返回并以列表显示。

以上的知识点在SQL语句中也有大量涉及到哟,这为日后打好MySQL基础无疑是帮了大忙。谢谢大家的阅读并且批评指正。

标签:语法,CQL,UNION,Day5,学习,子句,Neo4j,节点
来源: https://blog.csdn.net/server643/article/details/117587922