匹配密码中的两个节点和它们之间的关系
Match two nodes in cypher and and a relation between them
入门级问题。我正在试用 Desktop Neo4j v4.3.1。到目前为止,我已经创建了
的节点
CREATE (n:CST {cst_id:'CST_ID_1'}) RETURN n
CREATE (n:CST {csT_id:'CST_ID_2'}) RETURN n
CREATE (n:CST {csT_id:'CST_ID_3'}) RETURN n
据称代表两个客户。 .我想做的是
- 匹配并return前两个节点
- 在前两个节点之间添加一条边
到目前为止,我已经试过了
MATCH (c:CST),(d:CST)
WHERE c.cst_id='CST_ID_1' AND d.cst_id='CST_ID_2'
RETURN c,d
return什么都没有。将 AND 更改为 OR 会导致 returning 所有三个节点。
首先我想指出你的 cst_id
是不同的。第一个节点有 cst_id
,第二个和第三个节点有 csT_id
(注意大写 T
)。我不确定这是否是故意的,但我会在示例中保持不变:
MATCH (a:CST {cst_id: "CST_ID_1"})
MATCH (b:CST {cst_id: "CST_ID_2"})
CREATE (a)-[:MY_EDGE_NAME]->(b)
上面我执行了两个匹配,然后在两个匹配的节点之间创建了一条边,称为 MY_EDGE_NAME
。如果 CST_ID_1
或 CST_ID_2
不匹配,则不会创建关系。
入门级问题。我正在试用 Desktop Neo4j v4.3.1。到目前为止,我已经创建了
的节点CREATE (n:CST {cst_id:'CST_ID_1'}) RETURN n
CREATE (n:CST {csT_id:'CST_ID_2'}) RETURN n
CREATE (n:CST {csT_id:'CST_ID_3'}) RETURN n
据称代表两个客户。 .我想做的是
- 匹配并return前两个节点
- 在前两个节点之间添加一条边
到目前为止,我已经试过了
MATCH (c:CST),(d:CST)
WHERE c.cst_id='CST_ID_1' AND d.cst_id='CST_ID_2'
RETURN c,d
return什么都没有。将 AND 更改为 OR 会导致 returning 所有三个节点。
首先我想指出你的 cst_id
是不同的。第一个节点有 cst_id
,第二个和第三个节点有 csT_id
(注意大写 T
)。我不确定这是否是故意的,但我会在示例中保持不变:
MATCH (a:CST {cst_id: "CST_ID_1"})
MATCH (b:CST {cst_id: "CST_ID_2"})
CREATE (a)-[:MY_EDGE_NAME]->(b)
上面我执行了两个匹配,然后在两个匹配的节点之间创建了一条边,称为 MY_EDGE_NAME
。如果 CST_ID_1
或 CST_ID_2
不匹配,则不会创建关系。