Cypher在CREATE子句中使用WITH值作为关系名称

时间:2013-06-28 16:09:01

标签: neo4j cypher

我是neo4j和cypher的新手。 我想知道是否有可能使用WITH caluse中的值并将其用作CREATE子句中的关联名称,如下例所示(这显然创建了关系'rr'而不是将其扩展为'rr的值)。

MATCH (m:Month)-[r:`2`]->(d:Day)
WITH type(r) as rr, d
MATCH (mm:Month)
CREATE UNIQUE (mm)-[:rr]->(d)

我正在使用Cypher 1.9和neo4j ver 2.0.0-M03

2 个答案:

答案 0 :(得分:1)

没有办法做到这一点。语法不明确,因此密码解析器无法判断您是否要使用您的变量,或者您只想创建:rr关系类型。

Cypher需要一种方法来为关系类型使用表达式。该功能存在一些未解决的问题。参数也很好。

https://github.com/neo4j/neo4j/issues/340

https://github.com/neo4j/neo4j/issues/45

答案 1 :(得分:0)

我为你创造了一个例子。您的查询有效,至少对我设置的小数据而言。

http://console.neo4j.org/?id=eevi7d

您的代码适用于Cypher 2.0,但它不适用于Cypher 1.9,因为您应该使用STARTCREATE开始查询。