Neo4j CQL - (6)-关系基础

el/2024/7/13 10:54:21

Neo4j图数据库遵循属性图模型来存储和管理其数据。
根据属性图模型,关系应该是定向的。 否则,Neo4j将抛出一个错误消息。
基于方向性,Neo4j关系被分为两种主要类型

  • 单向关系
  • 双向关系

在以下场景中,我们可以使用Neo4j CQL CREATE命令来创建两个节点之间的关系。 这些情况适用于Uni和双向关系。

  • 在两个现有节点之间创建无属性的关系

  • 在两个现有节点之间创建与属性的关系

  • 在两个新节点之间创建无属性的关系

  • 在两个新节点之间创建与属性的关系

  • 在具有WHERE子句的两个退出节点之间创建/不使用属性的关系

我们将创建客户和CreditCard之间的关系,如下所示:

这里写图片描述

在上一章中,我们已经创建了Customer和CreditCard节点。 现在我们将看到如何创建它们之间的关系

此图描述了客户与CreditCard之间的关系

客户→信用卡

这里的关系是箭头标记(→)

由于Neo4j CQL语法是以人类可读的格式。 Neo4j CQL也使用类似的箭头标记来创建两个节点之间的关系。

每个关系(→)包含两个节点

  • 从节点
  • 到节点

从上图中,Customer节点是“From Node”,CreditCard Node是“To Node”这种关系。
对于节点,它们是两种关系

  • 传出关系
  • 传入关系

从上图中,关系是到客户节点的“传出关系”,并且相同的关系是到信用卡节点的“传入关系”

考虑下面的图。 这里我们创建了从“CreditCard”节点到“客户”节点的关系。
这里写图片描述
从上面的图中,关系是“传出关系”为“信用卡”节点,并且“传入关系”“客户”节点。

考虑下面的图。 我们在“CreditCard”和“Customer”节点之间创建了两个关系:一个从“CreditCard”到“Customer”。 另一个从“客户”到“信用卡”。 这意味着它是双向关系。

这里写图片描述

接下来,咱们接着上
一章节的例子,建立两个已知节点的关系

在这种情况下,我们将使用两个现有节点:
CreditCard和Customer创建与属性的关系。 这意味着,我们的Neo4J数据库应该有这两个节点。

命令格式:

MATCH (<node1-label-name>:<node1-name>),(<node2-label-name>:<node2-name>)
CREATE  (<node1-label-name>)-[<relationship-label-name>:<relationship-name>{<define-properties-list>}]->(<node2-label-name>)
RETURN <relationship-label-name>

这里写图片描述

ok。接下来,咱们创建关系

步骤1 - 打开Neo4J数据浏览器
步骤2 - 在数据浏览器上键入以下命令

MATCH (e:Customer),(cc:CreditCard) 
CREATE (e)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc) 
RETURN r

这里关系名称为“DO_SHOPPING_WITH”
关系标签为“r”。
shopdate和price是关系“r”的属性。
e和Customer分别是客户节点的节点名称和节点标签名称。
cc和CreditCard分别是CreditCard节点的节点名和节点标签名。
这里写图片描述

这里写图片描述

本文参考:https://www.w3cschool.cn/neo4j/neo4j_cql_relationship_basics.html


http://www.ngui.cc/el/5432314.html

相关文章

Python ( 1 ) ----- 简介

Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python的设计具有很强的可读性&#xff0c;相比其他语言经常使用英文关键字&#xff0c;其他语言的一些标点符号&#xff0c;它具有比其他语言更有特色语法结构。 Python 是一种解释型语言&#xff…

正则表达式 分支条件

又叫逻辑运算符&#xff0c;在此X和Y表示两个表达式 XY X紧跟YX|Y 表示X或Y&#xff0c;从左到右&#xff0c;满足第一个条件就不会继续匹配了。 文章参考&#xff1a;https://www.w3cschool.cn/rxoyts/l17fcozt.html

windows 环境下在anaconda 3中安装python2和python3两个环境(python2和python3共存)

博主本人是在学习机器学习的过程当中&#xff0c;看到的相关书籍使用的python 版本不一&#xff0c;但又想将每个版本都懂能使用一番&#xff0c;接下来&#xff0c;博主给大家介绍一个比较简单方便的方式&#xff1a; 首先&#xff1a;安装python 环境&#xff0c;极力推荐使…

pycharm当中,如何导入python2或者python3环境

step 1 step 2 step 3 OK ,环境添加完毕&#xff0c;此环境为python 2.7.17&#xff08;python 3可按此步骤添加&#xff09;&#xff0c;如此一来&#xff0c;我们可以灵活的再此处切换所有的编译环境。

数据挖掘面向什么类型的应用?

作为一个应用驱动的学科&#xff0c;数据挖掘已经在许多应用中获得巨大成功。我们不可能一一枚举数据挖掘扮演关键角色的所有应用。在知识密集的应用领域&#xff0c;如生物信息学和软件工程&#xff0c;数据挖掘的表现更需要深人处理&#xff0c;这已经超出本书的范围。应用作…

用pycharm出现,ImportError: No module named model_selection

首先&#xff0c;先说明&#xff0c;本人出现这个问题&#xff0c;是因为需要使用 train_test_split 方法&#xff0c;具体的引用是&#xff1a; from sklearn.model_selection import train_test_split 出现了这个错误&#xff1a; ImportError: No module named model_sel…

ubuntu 右键添加出现 Open in terminal 选项

有些时候&#xff0c;系统当中并没有自动安装某些快捷键&#xff0c;需要我们自行安装。 首先&#xff0c;安装一个包&#xff0c;即可在右键里面添加一个“打开终端”的菜单。 sudo apt-get install nautilus-open-terminal 然后&#xff0c;注销Ubuntu系统或者重启即可&am…

python读取文件时提示UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multi

解决办法1. FILE open(order.log,r, encodingUTF-8) 解决办法2 FILE open(order.log,rb)

python 字符串反转

方法1 &#xff1a; return .join(reversed(s)) 解释&#xff1a;采用列表函数 方法2&#xff1a; return str[::-1]解释&#xff1a;采用分片

leetcode 202.Happy Number (python3 )

题目&#xff1a; 题目分析&#xff1a;首先&#xff0c;本题需要判定输入的整数其各位数平方求和最终值是否为1 &#xff1f;输入整数位整型&#xff0c;返回值为布尔型。 编程思路&#xff1a; 1.需要利用到循环实现每一次求和后判定是否为1 。 2.需要排除有可能出现死循环…