美文网首页
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 关系

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