0

我是 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

4

2 回答 2

1

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

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

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

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

于 2013-06-28T19:33:28.817 回答
0

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

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

您的代码适用于 Cypher 2.0,但不适用于 Cypher 1.9,因为您需要以 aSTART或 a开始查询CREATE

于 2013-06-28T18:03:46.067 回答