我使用最新的 Neo4j。 我想将所有关系从节点 id=1 复制到节点 id=2:
MATCH (n)-[r]->(m)
WHERE id(n) = 1
WITH r, m
MATCH (synonym)
WHERE id(synonym) = 2
CREATE (synonym)-[???]->(m)
如何获取要放入标记中的关系 (r) 的名称???
感谢您的帮助!
要获取在 CREATE 子句中使用的关系 r 的名称,您可以使用 Cypher 中的 type() 函数动态提取关系类型。以下是您可以修改查询以实现此目的的方法:
MATCH (n)-[r]->(m)
WHERE id(n) = 1
WITH type(r) AS relType, m
MATCH (synonym)
WHERE id(synonym) = 2
CREATE (synonym)-[rel:relType]->(m)
RETURN synonym, m
在此修改后的查询中:
type(r) 提取关系 r 的类型。
使用 type(r) AS relType,m 将关系类型存储在变量 relType 中。
CREATE (synonym)-[rel:relType]->(m) 使用提取的 synonym 和 m 之间的关系类型 relType 创建新关系。