需要一些关于neo4j中基本关系查询的解释

时间:2013-09-30 08:08:21

标签: neo4j relation

CREATE (_1:`Person` { `name`:"Node A" })
 CREATE (_2:`Person` { `name`:"Node B" })

MATCH (a:Person),(b:Person) 
WHERE a.name = 'Node A' AND b.name = 'Node B' 
CREATE a-[r:RELTYPE { name : a.name + '<->' + b.name }]->b 
RETURN r

我不明白

CREATE a-[r:RELTYPE { name : a.name + '<->' + b.name }]->b

我们使用a创建了一个节点,但我们正在使用r来检索它吗?什么是<->

1 个答案:

答案 0 :(得分:0)

表达式CREATE a-[r:RELTYPE { name : a.name + '<->' + b.name }]->b不会创建节点a,它会创建一个关系。 MATCH ... WHERE子句检索两个现有节点,并将它们绑定到ab。然后在它们之间创建一个关系并绑定到r。给予此关系一个名为name的属性,并为此属性分配一个值,该值来自节点a和节点b的名称属性的字符串并置,其字符串为文本<->介于两者之间(在这种情况下,值将解析为Node A<->Node B,这可能不是一个非常有用的属性值。)

我不知道你从哪里得到那段代码片段。这有点奇怪,但我想这并不是回答你的问题的一部分。