美文网首页
Neo4j-1.3 关系

Neo4j-1.3 关系

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

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

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

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子句是可选的,使用后可立即看到结果。

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

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

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>的语法是:

{ 
   <property1-name>:<property1-value>,
   <property2-name>:<property2-value>,
   ...
   <propertyn-name>:<propertyn-value>
}

注意:

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

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

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

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子句是可选的,使用后可立即看到结果。

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

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

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>}的内容格式如下:

{ 
    <property1-name>:<property1-value>,
    <property2-name>:<property2-value>,
    ...
    <propertyn-name>:<propertyn-value>
}

检索关系节点的详细信息

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

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> 它是关系的标签名称。

相关文章

  • Neo4j-1.3 关系

    Neo4j图数据库用图模型来存储和管理数据 关系是定向的(有方向) 依据方向性,Neo4j关系分为两类:单向关系双...

  • 关系,关系,都是关系

    在一个故事里面,我觉得关系是最值得探讨的话题。人与人之间有那么多复杂的、微妙的、千奇百怪千回百转的关系。如果说一个...

  • 关系关系还是关系

    一直在强调关系。今天的咨询约练再次证明了关系的重要性。今天是承接上一次没有做完的咨询,当时在咨询的过程中,突发了一...

  • 关系关系还是关系

    怎么办

  • 关系,不关系

    自从上次通用网站平台失败后,我静下心来,好好寻思好的办法。考虑到公司的投资人背景,或许我们可以从“关系”那层出发。...

  • 关系、关系|读书

    和《重塑心灵》一起买的还有李中莹老师的另外两本书:《亲子关系全面技巧》和《亲密关系全面技巧》。后两本书可以说是重塑...

  • UML图的基础

    一、 基础关系 依赖关系依赖关系 实现关系实现关系 继承关系继承关系 组合关系组合关系 聚合关系聚合关系 关联关系...

  • 关系=有关系=发生关系

    前几天看到一篇很有寓意的故事和大家一起分享。 一个农场主在他的粮仓里放了老鼠夹子,老鼠发现了去告诉了母...

  • 关系=有关系=发生关系

    一个农场主在他的粮仓里放了老鼠夹子 老鼠发现了去告诉母鸡。 母鸡看了看老鼠说:“这和我有什么关系,你的事,自己小心...

  • 伪关系、假关系、真关系

    所有文章均为原创,我已委托“维权骑士”为我的文章进行维权行动,需要转载请加微信获取授权。 关系,存在于人和人之间,...

网友评论

      本文标题:Neo4j-1.3 关系

      本文链接:https://www.haomeiwen.com/subject/eybewctx.html