1. 文章
  2. 文章详情

Neo4j CQL - 关系(Relationship)建立(一)

关系的构成:StartNode - [Variable:RelationshipType{Key1:Value1,Key2:Value2}] -> EndNode,在创建关系时,必须指定关系类型。

创建没有任何属性的关系

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

语法:

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

语法说明:

语法元素 描述
MATCH,CREATE,RETURN 他们是Neo4J CQL关键字。
node1-name 它用于创建关系的“From Node”的名称。
node1-label-name 它用于创建关系的“From Node”的标签名称。
node2-name 它用于创建关系的“To Node”的名称。
node2-label-name 它用于创建关系的“To Node”的标签名称。
relationship-name 这是一个关系的名称。
relationship-label-name 它是一个关系的标签名称。

注意:

在此语法中,RETURN子句是可选的。 如果我们想立即看到结果,那么使用它。 否则,我们可以省略这个子句。

例如:

MATCH (a:Person),(b:Movie)
WHERE a.name = 'Robert Zemeckis' AND b.title = 'Forrest Gump'
CREATE (a)-[r:DIRECTED]->(b)
RETURN r;

创建关系,并设置关系的属性

我们使用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

语法说明:

语法元素 描述
MATCH,CREATE,RETURN 他们是Neo4J CQL关键词。
node1-name 它是用于创建关系的“From Node”的名称。
node1-label-name 它是用于创建关系的“From Node”的标签名称。
node2-name 它是用于创建关系的“To Node”的名称。
node2-label-name 它是用于创建关系的“To Node”的标签名称。
relationship-name 这是一个关系的名称。
relationship-label-name 它是一个关系的标签名称。
define-properties-list 它是分配给新创建关系的属性(名称 - 值对)的列表。

注意 -
在此语法中,RETURN子句是可选的。 如果我们想立即看到结果,那么使用它。 否则,我们可以省略这个子句。

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

语法 -

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

语法说明:

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

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

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

例如:

MATCH (a:Person),(b:Movie)
WHERE a.name = 'Tom Hanks' AND b.title = 'Forrest Gump'
CREATE (a)-[r:ACTED_IN { roles:['Forrest'] }]->(b)
RETURN r;

发表评论

登录后才能评论

评论列表(0条)