前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Neo4j-1.3 关系

Neo4j-1.3 关系

作者头像
悠扬前奏
发布2019-11-29 00:44:41
4520
发布2019-11-29 00:44:41
举报
  • Neo4j图数据库用图模型来存储和管理数据
  • 关系是定向的(有方向)
  • 依据方向性,Neo4j关系分为两类:
    • 单向关系
    • 双线关系
  • 用CREATE命令创建两个节点之间的关系:
    • 在两个现有节点之间创建无属性的关系
    • 在两个现有节点之间创建有属性的关系
    • 在两个新节点之间创建无属性的关系
    • 在两个新节点之间创建有属性的关系
    • 在具有WHERE子句的两个退出节点之间创建/不使用属性的关系
  • 每个关系包含两个节点:
    • 从节点(From Node)
    • 到节点 (To Node)
  • 对于节点,有两种关系:
    • 外向关系
    • 传入关系

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

用如下命令检索现有的两个节点,并创建它们之间的关系:

代码语言:javascript
复制
MATCH (<node1-label-name>:<node1-name>), (<node2-label-name>:<node2-name>)
CREATE
  (<node1-label-name>)-[<relationship-label-name>:<relationship-name>]->(<node2-label-name>)
RETURN <relationship-label-name>

语法说明:

S.No.

语法元素

描述

1.

MATCH,CREATE,RETURN

Neo4J CQL关键字。

2.

<node1-name>

它用于创建关系的“From Node”的名称。

3.

<node1-label-name>

它用于创建关系的“From Node”的标签名称。

4.

<node2-name>

它用于创建关系的“To Node”的名称。

5.

<node2-label-name>

它用于创建关系的“To Node”的标签名称。

6.

<relationship-name>

这是一个关系的名称。

7.

<relationship-label-name>

它是一个关系的标签名称。

RETURN子句是可选的,使用后可立即看到结果。

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

用如下命令在现有的两个节点之间创建有属性的关系:

代码语言:javascript
复制
MATCH (<node1-label-name>:<nade1-name>),(<node2-label-name>:<node2-name>)
CREATE
  (<node1-label-name>)-[<relationship-label-name>:<relationship-name>{<define-properties-list}]

语法说明:

S.No.

语法元素

描述

1.

MATCH,CREATE,RETURN

他们是Neo4J CQL关键词。

2.

<node1-name>

它是用于创建关系的“From Node”的名称。

3.

<node1-label-name>

它是用于创建关系的“From Node”的标签名称。

4.

<node2-name>

它是用于创建关系的“To Node”的名称。

5.

<node2-label-name>

它是用于创建关系的“To Node”的标签名称。

6.

<relationship-name>

这是一个关系的名称。

7.

<relationship-label-name>

它是一个关系的标签名称。

8.

<define-properties-list>

它是分配给新创建关系的属性(名称 - 值对)的列表。

RETURN子句是可选的,使用后可立即看到结果。

<define-properties-list>的语法是:

代码语言:javascript
复制
{ 
   <property1-name>:<property1-value>,
   <property2-name>:<property2-value>,
   ...
   <propertyn-name>:<propertyn-value>
}

注意:

  • 使用Colon(:)运算符后来分割属性名称和值
  • 使用Comma(,)运算符将Property于另一对Property分开

创建没有属性的节点和关系

以下语句创建数据库中不存在的节点和他们之间的新关系:

代码语言:javascript
复制
CREATE  
   (<node1-label-name>:<node1-name>)-
   [<relationship-label-name>:<relationship-name>]->
   (<node1-label-name>:<node1-name>)
RETURN <relationship-label-name>

语法说明:

S.No.

语法元素

描述

1.

CREATE,RETURN

他们是Neo4J CQL关键字。

2.

<node1-name>

它用于创建关系的“From Node”的名称。

3.

<node1-label-name>

它用于创建关系的“From Node”的标签名称。

4.

<node2-name>

它用于创建关系的“To Node”的名称。

5.

<node2-label-name>

它用于创建关系的“To Node”的标签名称。

6.

<relationship-name>

这是一个关系的名称。

7.

<relationship-label-name>

它是一个关系的标签名称。

RETURN子句是可选的,使用后可立即看到结果。

创建新节点和有属性的关系

以下语句创建数据库中没有的节点和他们之间有属性的新关系:

代码语言:javascript
复制
CREATE  
    (<node1-label-name>:<node1-name>{<define-properties-list>})-
    [<relationship-label-name>:<relationship-name>{<define-properties-list>}]
    ->(<node1-label-name>:<node1-name>{<define-properties-list>})
RETURN <relationship-label-name>

S.No.

语法元素

描述

1.

CREATE,RETURN

他们是Neo4J CQL关键字。

2.

<node1-name>

它用于创建关系的“From Node”的名称。

3.

<node1-label-name>

它用于创建关系的“From Node”的标签名称。

4.

<node2-name>

它用于创建关系的“To Node”的名称。

5.

<node2-label-name>

它用于创建关系的“To Node”的标签名称。

6.

<relationship-name>

这是一个关系的名称。

7.

<relationship-label-name>

它是一个关系的标签名称。

RETURN子句是可选的,使用后可立即看到结果。 {<define-property-list>}的内容格式如下:

代码语言:javascript
复制
{ 
    <property1-name>:<property1-value>,
    <property2-name>:<property2-value>,
    ...
    <propertyn-name>:<propertyn-value>
}

检索关系节点的详细信息

使用MATCH+RETURN来查看单独创建或者作为关系的一部分创建的节点的详细信息。

代码语言:javascript
复制
MATCH 
(<node1-label-name>)-[<relationship-label-name>:<relationship-name>]->(<node2-label-name>)
RETURN <relationship-label-name>

S.No.

语法元素

描述

1.

MATCH,RETURN

他们是Neo4j CQL关键字。

2.

<node1-label-name>

它是用于创建关系的“From Node”的标签名称。

3.

<node2-label-name>

它是用于创建关系的“To Node”的标签名称。

4.

<relationship-name>

它是一个关系的名称。

5.

<relationship-label-name>

它是关系的标签名称。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在两个现有节点之间创建无属性的关系
  • 在两个现有节点之间创建有属性的关系
  • 创建没有属性的节点和关系
  • 创建新节点和有属性的关系
  • 检索关系节点的详细信息
相关产品与服务
图数据库 KonisGraph
图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档