Neo4j-与现有节点的属性的关系

2022-11-16 11:38 更新

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


我们使用CQL MATCH命令检索现有的两个节点和CQL CREATE命令,以创建它们之间的新关系。


语法:

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>

语法说明:

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子句是可选的。 如果我们想立即看到结果,那么使用它。 否则,我们可以省略这个子句。

我们可以表示这{}如下。

语法 -

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

语法说明:

S.No.语法元素描述
1.<propertyx-name>它是分配给新创建关系的属性的名称。 其中x是1,2,... n个值
2.<propertyx-value>这是一个分配给新创建关系的Property的值。 其中x是1,2,... n个值

注意 -
我们应该使用Colon(:)运算符来分隔属性名称和值。

我们应该使用Comma(,)运算符将一对Property(名称值)与另一对Property分离。

例如:
此示例演示如何在两个现有节点之间创建无属性的单向关系:从客户到信用卡。

步骤1 - 打开Neo4J数据浏览器


Neo4J数据浏览器

在创建从客户到信用卡的关系之前,首先检查那些节点在我们的Neo4J数据库中可用。 如果不是,请创建它们。

步骤2 - 验证客户和CreditCard节点可用。

在数据浏览器上键入以下命令并验证它们

MATCH (e:Customer) 
RETURN e
MATCH (cc:CreditCard) 
RETURN cc

步骤3 - 在数据浏览器上键入以下命令

MATCH (cust:Customer),(cc:CreditCard) 
CREATE (cust)-[r:DO_SHOPPING_WITH{shopdate:"12/12/2014",price:55000}]->(cc) 
RETURN r
这里关系名称为“DO_SHOPPING_WITH”

关系标签为“r”。

shopdate和price是关系“r”的属性。

cust和Customer分别是客户节点的节点名称和节点标签名称。

cc和CreditCard分别是CreditCard节点的节点名和节点标签名。


命令

步骤4 - 单击执行按钮,并在UI模式下查看结果。


UI模式


由于我们使用RETURN子句,我们不需要单独的MATCH + RETURN命令来查看详细信息。 它在UI模式下显示它们之间的节点和关系。

步骤5 - 单击关系箭头标记,在单独的窗口中查看其属性,如下所示

现在我们可以查看两个属性DO_SHOPPING_WITH的关系。

DO_SHOPPING_WITH

注意:
如果我们遵循相同的步骤1从信用卡客户建立关系(这是在相反的方向),然后我们将与现有节点的双向关系的属性。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号