作为变量的关系类型

Mar*_*ine 1 neo4j cypher

我希望关系标签是“xxxyyy”节点的组合,甚至是 xxx_yyy,“+”是字符串连接或将变量设置为 x = a.name + b.name 但我尝试或查找的失败。

关系标签中没有出现引号或美元符号,可以节省我大量的打字时间。

MATCH (a:book),(b:story)
WHERE a.Name = "xxx" AND b.Name = "yyy"
CREATE (a)-[r:a.name+b.name]->(b)
RETURN r
Run Code Online (Sandbox Code Playgroud)

Wil*_*yon 5

这在普通 Cypher 中是不可能的,但您可以使用以下apoc.create.relationship过程来完成此操作:

MATCH (a:book),(b:story) 
WHERE a.Name = "xxx" AND b.Name = "yyy" 
CALL apoc.create.relationship(a, a.name + b.name, {}, b)
Run Code Online (Sandbox Code Playgroud)