博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Neo4j CQL语句学习Day3
阅读量:4046 次
发布时间:2019-05-24

本文共 2825 字,大约阅读时间需要 9 分钟。

Neo4j CQL语句学习Day3

1.MATCH-RETURN语句

1.1 MATCH语句

MATCH是Neo4j的CQL最基本的命令。它用于获取数据库节点和属性,并且获取其相关节点。

1.1.1 命令语句

MATCH (   
:
)

其中,<node-name>属于创建的节点名称

<label-name>属于节点标签名称

1.1.2 实例

  • 在数据浏览器的美元提示符中输入命名

  • MATCH (李元芳:Agent)
  • 这里我们创建一个节点——李元芳,并且李元芳打上“探员”的身份标签

1.2 RETURN语句

RETURN语句用于检索节点特性、属性等用法。

1.2.1 命令语句

RETURN    
.
, ........
.

其中,<propertyn-name>是属性键-值对,定义了将要分配给创建节点的属性的名称。

1.2.2 实例(如上)

  • 在上面第2点的基础上,载添加下面语句

  • RETURN 李元芳
  • 此时返回的将是一个节点信息(因为实例中没有返回李元芳的属性)。

如果您发现错误消息,它或许在告诉我们不能单独使用MATCH或者RETURN子句。

2.CREATE语句

接下来将展示CREATEMATCH-RETURN语句的联系实例。

2.1实例

实例详情请参考。

2.1.1 首先创建两个节点,即客户和信用卡式人际关系。

  • 客户属性:ID、姓名、出生日期
  • 信用卡节点包括:身份证、号码、CVV、性能
  • 客户信用卡式的关系:DO_SHOPPING_WITH
  • 要的信用卡客户关系:ASSOCIATED_WITH

接下来,将工作在本实施例中的以下步骤:

  • 创建客户节点
  • 创建信用卡式节点
  • 观察先前创建的两个节点:客户和信用卡式
  • 创建客户与信用卡式节点之间的关系
  • 查看新创建的关系的细节
  • 详细查看每个节点和关系属性

2.1.2 打开数据浏览器,创建客户节点。

输入如下所示即可。

此处创建了2个节点,并且一个节点有3个属性。

2.1.3 创建信用卡式节点

输入如下所示。

这里c是一个节点名

在这里,信用卡式是一个节点的标签名称

身份证,号码,CVV和EXPIREDATE是信用卡式节点的属性名称

2.1.4 观察节点

现在,我们已经创建了两个节点:客户和信用卡式

我们需要通过使用带有RETURN子句的Neo4j CQL MATCH命令来查看这两个节点的详细信息

查看客户节点详细信息

第1步 -打开Neo4j的数据浏览器

第2步 -在数据浏览器的美元提示符处键入以下命令。

MATCH (e:Customer)RETURN e.id,e.name,e.dob

这里e是一个节点名

在这里,客户是一个节点的标签名称

ID,姓名和出生日期是客户节点的属性名称

这里小编前面先提前创建了’Abc’节点做实验,所以最后还是出现了该节点的出现。所以可以暂且忽略。

上图展示了2个节点(忽略最上面的节点)和所对应的3个属性。

查看信用卡式节点详细信息

同上步骤,输入以下命令。

上图展示1个节点的4个属性。

3.CQL-基本关系

3.1 关系类型

  • 单向关系
  • 双向关系

根据数据库基本原理上看,我们可以用相应的语句,对两个节点之间进行关系的建立。

3.2 关系介绍

3.2.1 单向关系

CREATE语句学习的实例中,我们还未创建两个节点之间的关系,现在将介绍两个节点之间的关系介绍举例。

客户→信用卡式,这里的关系是箭头标记(→)

Neo4j CQL使用相似类型的箭头标记的创建两个节点之间的关系。

其中,每个关系(→)包含两个节点:

  • 从节点
  • 双节点

从上面的图中,客户节点“从节点”和信用卡式节点是“节点”,以这种关系。相对于节点,它们是两种关系

  • 传出关系
  • 传入关系

上图展示的关系是一种“传出的关系”,以客户节点和相同的关系是“传入的关系”,以信用卡式节点。

3.2.2 双向关系

上图创建了“信用卡式”和“客户”之间的节点两个关系:一是由“信用卡式”的“客户”。 另一名来自“客户”向“信用卡式”。 这意味着它是双向的关系。

4.创建节点

Neo4j CQL CREATE在上面若干实例中,分别展示创建一个标签,一个节点。但是CREATE有更多其延伸的语法。

其中,Neo4j的CREATE命令主要用于:

  • 创建一个单独的标签节点
  • 创建多个标签节点
  • 创建一个单独的标签有关系

4.1 单个标签节点

4.1.1 基本语句

CREATE (
:
)

其中,对每一个要素进行解释如下:

S.No. 语法元素 描述
1。 CREATE 这是一个Neo4j的CQL关键字。
2。 <node-name> 它是一个节点的名称。
3。 <label-name> 这是一个节点的标签名称。

4.2 多个标签节点

4.2.1 基本语句

CREATE (
:
:
.....:
)

其中对各个要素如下:

S.No. 语法元素 描述
1。 CREATE 这是一个Neo4j的CQL关键字。
2。 <node-nmae> 它是一个节点的名称。
3。 <label-name1>,<label-name2> 它是一个节点的标签名称的列表。

4.2.2 实例

其中举例如下:

  • 1.打开数据浏览器

  • 2.以节点名m为例子,它包含着电影、影院、影片、图片的标签

  • 以上图所示,观察到1个节点和4个标签在Neo4j数据库中创建出来。

4.3 单个标签有关系

4.3.1 基本语法

CREATE (
:
)- [(
:
)] ->(
:
)

其中对各个要素表达如下:

S.No. 语法元素 描述
1。 CREATE 这是一个Neo4j的CQL关键字。
2。 <node1-name> 这是一个从节点的名称。
3。 <node2-name> 这是A到节点的名称。
4。 <label1-name> 这是一个从节点的标签名称。
5。 <label2-name> 这是一个到节点的标签名称。
6。 <relationship-name> 它是一个关系的一个名字。
7。 <relationship-label-name> 这是一个关系的标签名称。

4.3.2 实例

其中举例如下:

  1. 打开数据浏览器
  2. 输入命令
  3. 点击运行按钮查看结果

如下图所展示:

上图展示的是p1节点和p2节点、两个标签和关系加入到Neo4j数据库中。

转载地址:http://jegdi.baihongyu.com/

你可能感兴趣的文章
分布式应用开发相关的面试题收集
查看>>
简单理解Socket及TCP/IP、Http、Socket的区别
查看>>
利用HTTP Cache来优化网站
查看>>
利用负载均衡优化和加速HTTP应用
查看>>
消息队列设计精要
查看>>
高可用性系统在大众点评的实践与经验
查看>>
美团酒店Node全栈开发实践
查看>>
分布式缓存负载均衡负载均衡的缓存处理:虚拟节点对一致性hash的改进
查看>>
分布式存储系统设计(1)—— 系统架构
查看>>
分布式存储系统设计(2)—— 数据分片
查看>>
架构师之路--视频业务介绍,离线服务架构和各种集群原理
查看>>
mysql、zookeeper、redis和elasticsearch主从同步机制
查看>>
MySQL数据库的高可用方案总结
查看>>
git 配置多个SSH-Key
查看>>
nodejs真的是单线程吗?
查看>>
JavaScript 模板引擎实现原理解析
查看>>
如何理解和熟练运用js中的call及apply?
查看>>
koa-源码分析
查看>>
co模块用法及分析
查看>>
深入理解Node.js垃圾回收与内存管理
查看>>